# $Id$ # # Copyright (c) 2013-2014 NetApp, Inc., All Rights Reserved # Any use, modification, or distribution is prohibited # without prior written consent from NetApp, Inc. # ## @summary VolumeExplore ComponentState Module ## @author dl-nacl-dev@netapp.com ## @status shared ## @pod here =head1 NAME NACL::CS::VolumeExplore =head1 DESCRIPTION C is a derived class of L. Object(s) of this type are returned when NACL::C::Volume->explore() is invoked. This module does not represent the state of any element, but is an object representation of the output obtained when a WAFL meta-data is queried using 'volume explore' command =head1 ATTRIBUTES The fields of the output are fields of the ComponentState object. Note that even if a field is present in the output but not listed below, the Component has code to dynamically add it, so that field will be accessible through the returned CS objects. =over =item C<< vserver >> Filled in for CMode CLI. =item C<< dsid >> Filled in for CMode CLI. =item C<< msid >> Filled in for CMode CLI. =item C<< name >> Filled in for CMode CLI. (Array) Note that for array fields, the accessor method can be invoked in either scalar or list context. my $name = $obj->name(); $name contains a reference to the array of values. my @names = $obj->name(); @names contains the array of values =item C<< location >> Filled in for CMode CLI. =item C<< ressnap >> Filled in for CMode CLI. =item C<< blockcount >> Filled in for CMode CLI. =item C<< percent >> Filled in for CMode CLI. =item C<< max >> Filled in for CMode CLI. =item C<< cptime >> Filled in for CMode CLI. =item C<< uuid >> Filled in for CMode CLI. =item C<< spcres >> Filled in for CMode CLI. =item C<< policy >> Filled in for CMode CLI. =item C<< maxfiles >> Filled in for CMode CLI. =item C<< i2p >> Filled in for CMode CLI. (Array) Note that for array fields, the accessor method can be invoked in either scalar or list context. my $i2p = $obj->i2p(); $i2p contains a reference to the array of values. my @i2p = $obj->i2p(); @i2p contains the array of values =item C<< cifsflags >> Filled in for CMode CLI. =item C<< magic >> Filled in for CMode CLI. =item C<< totalfiles >> Filled in for CMode CLI. =item C<< nfslanguage >> Filled in for CMode CLI. =item C<< mtime >> Filled in for CMode CLI. =item C<< schedule >> Filled in for CMode CLI. =item C<< type >> Filled in for CMode CLI. =item C<< resfiles >> Filled in for CMode CLI. =item C<< reserved >> Filled in for CMode CLI. =item C<< curfiles >> Filled in for CMode CLI. =item C<< trigger >> Filled in for CMode CLI. =item C<< crtime >> Filled in for CMode CLI. =item C<< options >> Filled in for CMode CLI. =item C<< inc >> Filled in for CMode CLI. =item C<< maxdirsize >> Filled in for CMode CLI. =item C<< raidflags >> Filled in for CMode CLI. =item C<< size >> Filled in for CMode CLI. =item C<< overwrite >> Filled in for CMode CLI. =item C<< slider >> Filled in for CMode CLI. =item C<< hyaflags >> Filled in for CMode CLI. =item C<< destroy >> Filled in for CMode CLI. =item C<< fsid >> Filled in for CMode CLI. =item C<< flags >> Filled in for CMode CLI. =item C<< language >> Filled in for CMode CLI. =item C<< holes >> Filled in for CMode CLI. =item C<< version >> Filled in for CMode CLI. =item C<< cpcount >> Filled in for CMode CLI. =item C<< snapid >> Filled in for CMode CLI. =item C<< generation >> Filled in for CMode CLI. =item C<< pclanguage >> Filled in for CMode CLI. =item C<< volcount >> Filled in for CMode CLI. =item C<< used >> Filled in for CMode CLI. =item C<< bladeid >> Filled in for CMode CLI. =item C<< stripeid >> Filled in for CMode CLI. =item C<< force >> Filled in for CMode CLI. =item C<< snmpid >> Filled in for CMode CLI. =item C<< cache_policy >> Filled in for CMode CLI. =item C<< tid >> Filled in for CMode CLI. =item C<< qtree >> Filled in for CMode CLI. =item C<< inum >> Filled in for CMode CLI. =item C<< pinum >> Filled in for CMode CLI. =item C<< pgeneration >> Filled in for CMode CLI. =item C<< fbn >> Filled in for CMode CLI. =item C<< entry >> Filled in for CMode CLI. =item C<< volumename >> Filled in for CMode CLI. =item C<< psnapid >> Filled in for CMode CLI. =item C<< atime >> Filled in for CMode CLI. =item C<< rec_policy >> Filled in for CMode CLI. =item C<< rec_policy >> Filled in for CMode CLI. =item C<< rec_trigger >> Filled in for CMode CLI. =item C<< rec_percent >> Filled in for CMode CLI. =item C<< rec_destroy >> Filled in for CMode CLI. =item C<< autogrow_max >> Filled in for CMode CLI. =item C<< autogrow_inc >> Filled in for CMode CLI. =item C<< vol_vcc_time >> Filled in for CMode CLI. =item C<< vol_scc_id >> Filled in for CMode CLI. =item C<< vol_scc_nodeid >> Filled in for CMode CLI. =item C<< vol_scc_time >> Filled in for CMode CLI. =item C<< interval >> Filled in for CMode CLI. =item C<< oplocks >> Filled in for CMode CLI. =item C<< state >> Filled in for CMode CLI. =item C<< style >> Filled in for CMode CLI. =item C<< vvbn >> Filled in for CMode CLI. =item C<< pvbn >> Filled in for CMode CLI. =item C<< shortname >> Filled in for CMode CLI. =item C<< altname >> Filled in for CMode CLI. =item C<< dvmask >> Filled in for CMode CLI. =item C<< epoch >> Filled in for CMode CLI. =item C<< iv_role >> Filled in for CMode CLI. =item C<< sinode >> Filled in for CMode CLI. =item C<< xinode >> Filled in for CMode CLI. =item C<< subtype >> Filled in for CMode CLI. =item C<< level >> Filled in for CMode CLI. =item C<< umask >> Filled in for CMode CLI. =item C<< nlink >> Filled in for CMode CLI. =item C<< av_gen_num >> Filled in for CMode CLI. =item C<< uid >> Filled in for CMode CLI. =item C<< gid >> Filled in for CMode CLI. =item C<< ctime >> Filled in for CMode CLI. =item C<< inline >> Filled in for CMode CLI. =item C<< rdev >> Filled in for CMode CLI. =item C<< junction >> Filled in for CMode CLI. =item C<< owner >> Filled in for CMode CLI. =item C<< indircount >> Filled in for CMode CLI. =item C<< buftreeid >> Filled in for CMode CLI. =item C<< mixed_buftree >> Filled in for CMode CLI. =item C<< payload >> Filled in for CMode CLI. =item C<< parent >> Filled in for CMode CLI. =item C<< index >> Filled in for CMode CLI. =back =cut package NACL::CS::VolumeExplore; use strict; use warnings; use base 'NACL::CS::ComponentState::ONTAP'; use NATE::Log qw(log_global); my $Log = log_global(); my $may_enter = $Log->may_enter(); my $may_exit = $Log->may_exit(); use Class::MethodMaker [ scalar => 'vserver', scalar => 'dsid', scalar => 'msid', array => 'name', scalar => 'location', scalar => 'ressnap', scalar => 'blockcount', scalar => 'percent', scalar => 'max', scalar => 'cptime', scalar => 'uuid', scalar => 'spcres', scalar => 'policy', scalar => 'maxfiles', array => 'i2p', scalar => 'cifsflags', scalar => 'magic', scalar => 'totalfiles', scalar => 'nfslanguage', scalar => 'mtime', scalar => 'schedule', scalar => 'type', scalar => 'resfiles', scalar => 'reserved', scalar => 'nvfail', scalar => 'curfiles', scalar => 'trigger', scalar => 'crtime', scalar => 'options', scalar => 'inc', scalar => 'maxdirsize', scalar => 'raidflags', scalar => 'size', scalar => 'overwrite', scalar => 'slider', scalar => 'destroy', scalar => 'fsid', scalar => 'flags', scalar => 'language', scalar => 'holes', scalar => 'version', scalar => 'cpcount', scalar => 'snapid', scalar => 'generation', scalar => 'pclanguage', scalar => 'volcount', scalar => 'used', scalar => 'bladeid', scalar => 'stripeid', scalar => 'force', scalar => 'snmpid', scalar => 'c_curfiles', scalar => 'c_totalfiles', scalar => 'p_maxfiles', scalar => 'p_curfiles', scalar => 'p_resfiles', scalar => 'av_generation', scalar => 'av_cluster_version', scalar => 'snapshot_schedule', scalar => 'rec_policy', scalar => 'rec_trigger', scalar => 'rec_percent', scalar => 'rec_destroy', scalar => 'autogrow_max', scalar => 'autogrow_inc', scalar => 'vol_vcc_time', scalar => 'vol_scc_time', scalar => 'vol_scc_id', scalar => 'vol_scc_nodeid', scalar => 'cache_policy', scalar => 'buftree_type', scalar => 'hyaflags', scalar => 'tid', scalar => 'qtree', scalar => 'inum', scalar => 'pinum', scalar => 'pgeneration', scalar => 'fbn', scalar => 'entry', scalar => 'style', scalar => 'oplocks', scalar => 'volumename', scalar => 'psnapid', scalar => 'atime', scalar => 'state', scalar => 'interval', scalar => 'vvbn', scalar => 'pvbn', scalar => 'shortname', scalar => 'altname', scalar => 'dvmask', scalar => 'epoch', scalar => 'iv_role', scalar => 'sinode', scalar => 'xinode', scalar => 'subtype', scalar => 'level', scalar => 'umask', scalar => 'nlink', scalar => 'av_gen_num', scalar => 'uid', scalar => 'gid', scalar => 'ctime', scalar => 'inline', scalar => 'rdev', scalar => 'junction', scalar => 'owner', scalar => 'indircount', scalar => 'buftreeid', scalar => 'mixed_buftree', scalar => 'payload', scalar => 'parent', scalar => 'index', ]; sub _set_fields { $Log->enter() if $may_enter; my ($pkg, @opts) = @_; $pkg->SUPER::_set_fields(add_unknown_fields => 1, @opts); $Log->exit() if $may_exit; } 1;