The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Illumos::SMF - SMF control object

SYNOPSIS

 use Illumos::SMF;
 ...
 my $smf = Illumos::SMF->new(zonesupport => 1, debug => 0);
 ...

DESCRIPTION

object to manage SMF

ATTRIBUTES

zonesupport

if enabled, SMF can handle FMRI in zones (requires Illumos::Zones)

debug

print debug information to STDERR

METHODS

refreshFMRI

refreshs the instance

 $smf->refreshFMRI();

listFMRI

lists all child entities of a FMRI. lists instances only if 'instancesonly' is set.

 $smf->listFMRI($fmri, { zonename => $zone, instancesonly => 1 });
 $smf->listFMRI($fmri, { instancesonly => 1 });

fmriExists

checks if the FMRI exists

 $smf->fmriExists($fmri, { zonename => $zone }); 
 $smf->fmriExists($fmri);

fmriState

returns the state of the FMRI

 $smf->fmriState($fmri, { zonename => $zone });
 $smf->fmriState($fmri);

fmriOnline

checks if the FRMI is online

 $smf->fmriOnline($fmri, { zonename => $zone });
 $smf->fmriOnline($fmri);

enable

enables the FMRI

 $smf->enable($fmri, { zonename => $zone });
 $smf->enable($fmri);

disable

disables the FMRI

 $smf->disable($fmri, { zonename => $zone });
 $smf->disable($fmri);

restart

restarts the FMRI

 $smf->restart($fmri, { zonename => $zone });
 $smf->restart($fmri);

addFMRI

adds an FMRI to SFM

 $smf->addFMRI($fmri, { zonename => $zone });
 $smf->addFMRI($fmri);

deleteFMRI

removes an FMRI from SMF

 $smf->deleteFMRI($fmri, { zonename => $zone });
 $smf->deleteFMRI($fmri);

addInstance

adds an instance to an existing FMRI

 $smf->addInstance($fmri, $instance, { zonename => $zone });
 $smf->addInstance($fmri, $instance);

getPropertyGroups

returns a list of property groups

 $smf->getPropertyGroups($fmri, { zonename => $zone });
 $smf->addInstance($fmri);

propertyExists

returns whether a property exists or not

 $smf->propertyExists($fmri, $prop, { zonename => $zone });
 $smf->propertyExists($fmri, $prop);

propertyGroupExists

returns whether a property group exists or not

 $smf->propertyGroupExists($fmri, $pg, { zonename => $zone });
 $smf->propertyGroupExists($fmri, $pg);

addPropertyGroup

adds a property group to a FMRI. $type defaults to 'application' if not given.

 $smf->addPropertyGroup($fmri, $pg, $type, { zonename => $zone });
 $smf->addPropertyGroup($fmri, $pg, $type);

deletePropertyGroup

deletes a property group from a FMRI

 $smf->deletePropertyGroup($fmri, $pg, { zonename => $zone });
 $smf->deletePropertyGroup($fmri, $pg);

setProperty

sets a property of a FMRI. $type is guessed if not given.

 $smf->setProperty($fmri, $prop, $value, $type, { zonename => $zone });
 $smf->setProperty($fmri, $prop, $value, $type);

setProperties

sets a set of properties of a property group of a FMRI

 $smf->setProperties($fmri, { %props }, { zonename => $zone });
 $smf->setProperties($fmri, { %props }, $type);

getProperties

gets the set of properties of a property group of a FMRI

 $smf->getProperties($fmri, $pg, { zonename => $zone });
 $smf->getProperties($fmri, $pg, $type);

setFMRIProperties

sets all properties of a FMRI

 $smf->setFMRIProperties($fmri, { %props }, { zonename => $zone });
 $smf->setFMRIProperties($fmri, { %props });

getFMRIProperties

gets all properties of a FMRI

 $smf->getFMRIProperties($fmri, { zonename => $zone });
 $smf->getFMRIProperties($fmri);

COPYRIGHT

Copyright (c) 2015 by OETIKER+PARTNER AG. All rights reserved.

LICENSE

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

AUTHOR

Dominik Hassler <hadfl@cpan.org>, Tobias Oetiker <tobi@oetiker.ch>

HISTORY

2015-05-07 had Initial Version