Go to main content

man pages section 3: Remote Administration Daemon Module Interfaces

Exit Print View

Updated: July 2017
 
 

smf (3rad)

Name

smf - API for Service Management Facility

Synopsis

interface Entity
string fmri ;
string scope ;
string service ;
Dependency[] dependencies ;
Manpage[] manpages ;
Doclink[] doclinks ;
PropertyGroup[] pgs ;
Decoration[] decorations ;

delete();

deleteCust();

createPG(string pg_name,
string pg_type,
uinteger pg_flags);

deletePG(string pg_name);

Decoration[] readPGDecorations(string pg_name);

deletePGCust(string pg_name);

Property[] readProperties(string[] pg_names);

writeProperties(PropChange[] props);

Property readProperty(string prop_name);

writeProperty(string prop_name,
PropertyType prop_type,
string[] values);

deleteProperty(string prop_name);

Decoration[] readPropertyDecorations(string prop_name);

deletePropertyCust(string prop_name);

string getCommonName(string locale);

string getDescription(string locale);

PGTemplate[] getPGTemplates(string locale);

PropTemplate[] getPropTemplates(string pg_name,
string pg_type,
string locale);

interface Service inherits interface Entity
string[] instances ;

interface Instance inherits interface Entity
string instance ;
string restarter ;
boolean enabled ;
SMFState state ;
ExtendedState ex_state ;
string[] snapshots ;

PropertyGroup[] readSnapshotPGs(string snap_name);

Property[] readSnapshotProperties(string[] pg_names,
string snap_name);

Property readSnapshotProperty(string prop_name,
string snap_name);

clear();

restart();

refresh();

maintain(boolean immediate,
boolean temporary);

enable(boolean temporary);

disable(boolean temporary);

LogInfo getLogInfo(integer max_size);

interface Master
StructService[] services ;
StructInstance[] instances ;

Description

SMF(3rad)                   RAD Module Definitions                   SMF(3rad)



NAME
       smf - API for Service Management Facility

SYNOPSIS
   interface Entity
       string fmri ;
       string scope ;
       string service ;
       Dependency[] dependencies ;
       Manpage[] manpages ;
       Doclink[] doclinks ;
       PropertyGroup[] pgs ;
       Decoration[] decorations ;

       delete();

       deleteCust();

       createPG(string pg_name,
                string pg_type,
                uinteger pg_flags);

       deletePG(string pg_name);

       Decoration[] readPGDecorations(string pg_name);

       deletePGCust(string pg_name);

       Property[] readProperties(string[] pg_names);

       writeProperties(PropChange[] props);

       Property readProperty(string prop_name);

       writeProperty(string prop_name,
                     PropertyType prop_type,
                     string[] values);

       deleteProperty(string prop_name);

       Decoration[] readPropertyDecorations(string prop_name);

       deletePropertyCust(string prop_name);

       string getCommonName(string locale);

       string getDescription(string locale);

       PGTemplate[] getPGTemplates(string locale);

       PropTemplate[] getPropTemplates(string pg_name,
                                       string pg_type,
                                       string locale);

   interface Service inherits interface Entity
       string[] instances ;

   interface Instance inherits interface Entity
       string instance ;
       string restarter ;
       boolean enabled ;
       SMFState state ;
       ExtendedState ex_state ;
       string[] snapshots ;

       PropertyGroup[] readSnapshotPGs(string snap_name);

       Property[] readSnapshotProperties(string[] pg_names,
                                         string snap_name);

       Property readSnapshotProperty(string prop_name,
                                     string snap_name);

       clear();

       restart();

       refresh();

       maintain(boolean immediate,
                boolean temporary);

       enable(boolean temporary);

       disable(boolean temporary);

       LogInfo getLogInfo(integer max_size);

   interface Master
       StructService[] services ;
       StructInstance[] instances ;

DESCRIPTION
       API com.oracle.solaris.rad.smf

       This API exposes common SMF configuration, actions, and state to
       rad(1m) clients.

       Three core interfaces are provided:

        1. Master - a top-level object providing access to all services and
           instances on the system

        2. Service - an object that represents an SMF service

        3. Instance - an object that represents an SMF instance

       The latter two interfaces, Service and Instance, are derived from a
       common Entity interface.

INTERFACES
   interface Entity
       functionality common to services and instances

       Entity Properties
           string fmri (read-only) -- the service/instance's FMRI

           string scope (read-only) -- the service/instance's scope

           string service (read-only) -- the service name of the
           service/instance

           Dependency[] dependencies (read-only) -- the service/instance's
           dependencies

               A list of dependency objects describing the full nature of each
               dependency. An empty list is returned if there are no
               dependencies.

               Read Error: SmfError

                   An internal SMF error occurred.

           Manpage[] manpages (read-only) -- the service/instance's manual
           pages

               A list of manual page objects describing the name, section, and
               path of each relevant manual page. An empty list is returned if
               no manual pages are defined.

               Read Error: SmfError

                   An internal SMF error occurred.

           Doclink[] doclinks (read-only) -- documentation links

               A list of links to on-line documentation for the
               service/instance. An empty list is returned if no on-line
               documents are defined.

               Read Error: SmfError

                   An internal SMF error occurred.

           PropertyGroup[] pgs (read-only) -- directly-attached property
           groups

               A list of all directly-attached property groups, including
               name, type and flags for each.

               Read Error: SmfError

                   An internal SMF error occurred.

           Decoration[] decorations (read-only) -- list of decorations

               A list of decorations associated with the service/instance.

               Read Error: SmfError

                   An internal SMF error occurred.

       Entity Methods
           delete()

               delete the service/instance

               Delete the service or instance.

               Error:

               SmfError

                   Failed to delete the service or instance. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

                   o   EXISTS - delete was called on a service and the service
                       still had instances

           deleteCust()

               delete administrative customizations

               Delete all administrative customizations applied to a
               service/instance and its children, if any exist.

               Error:

               SmfError

                   Failed to delete the administrative customizations applied
                   to a service or instance. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

           createPG(string pg_name, string pg_type, uinteger pg_flags)

               create a property group

               Create a property group on the service/instance.

               Arguments:

               pg_name -- the name of the new property group

               pg_type -- the type of the new property group

               pg_flags -- the property group flags

               Error:

               SmfError

                   Failed to create the property group. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

                   o   EXISTS - the propery group already exists

                   o   BADVALUE - an invalid property group name or type was
                       specified

           deletePG(string pg_name)

               delete a property group

               Delete a directly-attached property group and all its
               properties from the service/instance.

               Arguments:

               pg_name -- the name of the property group

               Error:

               SmfError

                   Failed to delete the property group. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

                   o   NOTFOUND - the property group doesn't exist

           Decoration[] readPGDecorations(string pg_name)

               obtain a list of decorations

               Obtain all the decorations associated with this property group.

               Arguments:

               pg_name -- the name of the property group

               Result:

               Decoration[] -- list of available decorations

               Error:

               SmfError

                   Failed to read the property group decorations. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   NOTFOUND - the property group doesn't exist (see
                       target)

           deletePGCust(string pg_name)

               delete administrative customizations

               Delete all administrative customizations applied to a property
               group and its children, if any exist.

               Arguments:

               pg_name -- the name of the property group

               Error:

               SmfError

                   Failed to delete the administrative customizations applied
                   to a property group. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

                   o   NOTFOUND - the property group doesn't exist

           Property[] readProperties(string[] pg_names)

               reads all properties in a set of directly-attached property
               groups.

               Read all properties in the specified directly-attached property
               group. The name, type, and values of each property are
               included.

               Arguments:

               pg_names (nullable) -- The names of the property groups. If
               this value is Null, all property groups will be read.

               Result:

               Property[] -- a list of properties in the specified
               directly-attached property group

               Error:

               SmfError

                   Failed to read properties from the property group. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   NOTFOUND - the property group doesn't exist

           writeProperties(PropChange[] props)

               commit a list of property changes to a property group

               Commit a set of property changes to the specified property
               group. Each property change specifies a property, type, and
               optional set of values. If the property specified by a property
               change doesn't exist prior to the call, it will be created by
               the call. If the property specified by a property change exists
               prior to the call but has a different type, its type will be
               set to the type specified by the call.

               If the call succeeds, all the requested property changes were
               made. If the call fails, none of the requested changes were
               made.

               Arguments:

               props -- the set of changes to apply

               Error:

               SmfError

                   Failed to make all the requested property changes. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

                   o   NOTFOUND - the property group doesn't exist (see
                       target)

                   o   BADVALUE - a property had an invalid name, or a value
                       couldn't be converted to the requested type (see
                       target, aux)

                   o   INVALID - the same property was referenced by two
                       PropertyChanges.

                   When an invidual property is the cause of the error, its
                   name will be returned in aux.

           Property readProperty(string prop_name)

               read a single directly-attached property's values

               Read a single property from the specified directly-attached
               property group. The result includes the name, type, and values
               of the property.

               Arguments:

               prop_name -- the name of the property

               Result:

               Property -- the specified property

               Error:

               SmfError

                   Failed to read the specified property. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   NOTFOUND - the property or property group doesn't exist
                       (see target)

           writeProperty(string prop_name, PropertyType prop_type,
           string[] values)

               writes a list of values to a property

               Change the specified property. If the property doesn't exist
               prior to the call, it will be created by the call. If the
               property exists prior to the call but has a different type, its
               type will be set to the type specified by the call.

               Arguments:

               prop_name -- the name of the property

               prop_type -- the type of the property

               values -- the new values for the property

               Error:

               SmfError

                   Failed to make the requested property change. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

                   o   NOTFOUND - the property group doesn't exist (see
                       target)

                   o   BADVALUE - the property had an invalid name, or a value
                       couldn't be converted to the requested type (see
                       target)

           deleteProperty(string prop_name)

               delete a property

               Delete a property from the service/instance.

               Arguments:

               prop_name -- the name of the property

               Error:

               SmfError

                   Failed to delete the property. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

                   o   NOTFOUND - the property group doesn't exist, or the
                       property to be deleted doesn't exist (see target)

                   o   BADVALUE - the property had an invalid name or type
                       (see target)

                   o   INVALID - the property cannot be deleted while in use
                       (see target)

           Decoration[] readPropertyDecorations(string prop_name)

               obtain a list of decorations

               Obtain all the decorations associated with this property.

               Arguments:

               prop_name -- the name of the property

               Result:

               Decoration[] -- list of available decorations

               Error:

               SmfError

                   Failed to read the property decorations. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   NOTFOUND - the property or property group doesn't exist
                       (see target)

           deletePropertyCust(string prop_name)

               delete administrative customizations

               Delete all administrative customizations applied to this
               property.

               Arguments:

               prop_name -- the name of the property

               Error:

               SmfError

                   Failed to delete the administrative customizations applied
                   to this property. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

                   o   NOTFOUND - the property group, or property doesn't
                       exist (see target)

           string getCommonName(string locale)

               obtain the service/instance's localized common name

               Obtain the localized common name for the service/instance, if
               one exists. If a common name doesn't exist for the specified
               locale, attempts to return the common name for the "C" locale
               instead.

               Arguments:

               locale -- the desired locale

               Result:

               string (nullable) -- the common name if available, or null

               Error:

               SmfError

                   An internal error occurred.

           string getDescription(string locale)

               obtain the service/instance's localized description

               Obtain the localized description for the service/instance, if
               one exists. If a description doesn't exist for the specified
               locale, attempts to return the description for the "C" locale
               instead.

               Arguments:

               locale -- the desired locale

               Result:

               string (nullable) -- the description if available, or null

               Error:

               SmfError

                   An internal error occurred.

           PGTemplate[] getPGTemplates(string locale)

               obtain all property group templates

               Obtain all property group templates for this service/instance.
               If templates aren't provided for the specified locale, attempts
               to return the templates for the "C" locale instead.

               Arguments:

               locale -- the desired locale

               Result:

               PGTemplate[] -- all available property group templates

               Error:

               SmfError

                   An internal error occurred.

           PropTemplate[] getPropTemplates(string pg_name, string pg_type,
           string locale)

               obtain all property templates for a property group

               Obtain all property templates for the specified property group
               of this service/instance. If property templates aren't provided
               for the specified locale, attempts to return the templates for
               the "C" locale instead. If no templates exist for properties of
               the specified property group, an empty list is returned.

               Arguments:

               pg_name -- the name of the property group

               pg_type -- the type of the property group

               locale -- the desired locale

               Result:

               PropTemplate[] -- all available property templates

               Error:

               SmfError

                   An internal error occurred.

   interface Service
       an SMF service object

       Inheritance Hierarchy.

           .-> interface Entity
           |
           interface Service

       The Service interface is an Entity that represents an SMF service.
       Handles to this type of object can be retrieved from the RAD server
       using an object name built with:

        1. the "com.oracle.solaris.rad.smf" domain name

        2. a key named "type" paired with a value of "Service"

        3. a key named "service" paired with the service portion of an SMF
           FMRI

       Object names for services can be pulled from the Services exposed by
       the Master.services property. Or, they can be built directly:

       Example 1. Service interface (Python)

           import rad.client as radcli
           import rad.connect as radcon
           import rad.bindings.com.oracle.solaris.rad.smf_1 as sbind

           # Create a connection
           con = radcon.connect_unix()

           # Retrieve a particular service
           service = con.get_object(sbind.Service(), radcli.ADRGlobPattern({"service" : "network/physical"}))

           # Do something with our service
           print "service %s has %d instances" % (service.fmri, len(service.instances))

       Service Properties
           string[] instances (read-only) -- the list of instances of this
           service

               The list of instances of this service. An empty list if the
               service has no instances.

               Read Error: SmfError

                   An internal SMF error occurred.

           Inherited Properties (Entity):

           fmri, scope, service, dependencies, manpages, doclinks, pgs,
           decorations

       Service Methods
           Inherited Methods (Entity):

           delete, deleteCust, createPG, deletePG, readPGDecorations,
           deletePGCust, readProperties, writeProperties, readProperty,
           writeProperty, deleteProperty, readPropertyDecorations,
           deletePropertyCust, getCommonName, getDescription, getPGTemplates,
           getPropTemplates

   interface Instance
       an SMF instance object

       Inheritance Hierarchy.

           .-> interface Entity
           |
           interface Instance

       The Instance interface is an Entity that represents an SMF instance.
       Handles to this type of object can be retrieved from the RAD server
       using an object name built with:

        1. the "com.oracle.solaris.rad.smf" domain name

        2. a key named "type" paired with a value of "Instance"

        3. a key named "service" paired with the service portion of an SMF
           FMRI

        4. a key named "instance" paired with the instance portion of an SMF
           FMRI

       Object names for instances can be pulled from the Instances exposed by
       the Master.instances property. Or, they can be built directly:

       Example 2. Instance interface (Python)

           import rad.client as radcli
           import rad.connect as radcon
           import rad.bindings.com.oracle.solaris.rad.smf_1 as sbind

           # Create a connection
           con = radcon.connect_unix()

           # Retrieve a particular service
           instance = con.get_object(sbind.Instance(), radcli.ADRGlobPattern({"service" : "network/physical", "instance" : "default"}))

           # Do something with our instance
           print "instance %s state: %s" % (instance.fmri, instance.state)

       Instance Properties
           string instance (read-only) -- the name of the instance

           string restarter (read-only) -- the fmri of the instance's
           restarter

               Read Error: SmfError

                   An internal SMF error occurred.

           boolean enabled (read-only) -- is the instance effectively enabled?

               Read Error: SmfError

                   An internal SMF error occurred.

           SMFState state (read-only) -- the current state of the instance

               Read Error: SmfError

                   An internal SMF error occurred.

           ExtendedState ex_state (read-only) -- the extended state of the
           instance

               Read Error: SmfError

                   An internal SMF error occurred.

           string[] snapshots (read-only) -- a list of the instance's
           snapshots

               Read Error: SmfError

                   An internal SMF error occurred.

           Inherited Properties (Entity):

           fmri, scope, service, dependencies, manpages, doclinks, pgs,
           decorations

       Instance Methods
           PropertyGroup[] readSnapshotPGs(string snap_name)

               read all property groups in the composed view of the specified
               snapshot

               Arguments:

               snap_name (nullable) -- the name of the snapshot, or null for
               the running snapshot

               Result:

               PropertyGroup[]

               Error:

               SmfError

                   Failed to read the list of property groups. Cause:

                   o   INTERNAL - an internal error occurred

                   o   NOTFOUND - the snapshot doesn't exist

           Property[] readSnapshotProperties(string[] pg_names,
           string snap_name)

               reads all properties in the composed view of the specified
               snapshot of a property group

               Arguments:

               pg_names (nullable) -- the name of the property group

               snap_name (nullable) -- the name of the snapshot, or null for
               the running snapshot

               Result:

               Property[]

               Error:

               SmfError

                   Failed to read properties from the snapshot's composed view
                   of the specified property group. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   NOTFOUND - the property group or snapshot doesn't exist
                       (see target)

           Property readSnapshotProperty(string prop_name, string snap_name)

               reads a property in the composed view of the specified snapshot

               Reads a single property from the composed view of the specified
               property group. The result includes the name, type, and values
               of the property.

               Arguments:

               prop_name -- the name of the property

               snap_name (nullable) -- the name of the snapshot, or null for
               the running snapshot

               Result:

               Property

               Error:

               SmfError

                   Failed to read the property. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   NOTFOUND - the snapshot, property group, or property
                       doesn't exist (see target)

           clear()

               clear the instance if degraded or in maintenance

               Attempt to clear the maintenance or degraded state from the
               instance. This operation occurs asynchronously, and will return
               success even though the attempt could fail.

               Error:

               SmfError

                   Was unable to attempt clearing the instance. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

                   o   BADSTATE - the instance wasn't in the maintenance or
                       degraded state

           restart()

               restarts the instance

               Attempt to restart the instance. This operation occurs
               asynchronously, and will return success even though the attempt
               could fail.

               Error:

               SmfError

                   Was unable to attempt restarting the instance. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

           refresh()

               refresh the instance

               Attempt to refresh the instance. This operation occurs
               asynchronously, and will return success even though the attempt
               could fail.

               Error:

               SmfError

                   Was unable to attempt restarting the instance. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

           maintain(boolean immediate, boolean temporary)

               place the instance in maintenance

               Attempt to place the instance in maintenance. This operation
               occurs asynchronously, and will return success even though the
               attempt could fail.

               Arguments:

               immediate -- skip attempting a clean shutdown

               temporary -- maintenance doesn't persist after reboot

               Error:

               SmfError

                   Was unable to attempt to place the instance in maintenance.
                   Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

           enable(boolean temporary)

               enable the instance

               Enable the instance. This operation is idempotent; enabling an
               enabled instance has no effect.

               Arguments:

               temporary -- enable doesn't persist after reboot

               Error:

               SmfError

                   Was unable to enable the instance. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

           disable(boolean temporary)

               disable the instance

               Disable the instance. This operation is idempotent; disabling a
               disabled instance has no effect.

               Arguments:

               temporary -- disable doesn't persist after reboot

               Error:

               SmfError

                   Was unable to disable the instance. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   READONLY - the repository is read-only

           LogInfo getLogInfo(integer max_size)

               obtain instance log file data

               Obtain information from and about the instance's log file.
               Includes the name, size, modification time, and contents.

               Arguments:

               max_size -- bytes of log file content to return

               Result:

               LogInfo -- the requested log file data

               Error:

               SmfError

                   Was unable to obtain log data. Cause:

                   o   INTERNAL - an internal error occurred

                   o   DENIED - insufficient authorization

                   o   NOTFOUND - no log file found

           Inherited Methods (Entity):

           delete, deleteCust, createPG, deletePG, readPGDecorations,
           deletePGCust, readProperties, writeProperties, readProperty,
           writeProperty, deleteProperty, readPropertyDecorations,
           deletePropertyCust, getCommonName, getDescription, getPGTemplates,
           getPropTemplates

   interface Master
       a top-level object providing access to all services and instances on
       the system

       The Master interface provides an iterative entrypoint into the SMF
       subsystem. Handles to this type of object can be retrieved from the RAD
       server using an object name built with:

        1. the "com.oracle.solaris.rad.smf" domain name

        2. a key named "type" paired with a value of "Master"

       For example, to report the number of services in the ONLINE state:

       Example 3. Master interface (Python)

           import rad.client as radcli
           import rad.connect as radcon
           import rad.bindings.com.oracle.solaris.rad.smf_1 as sbind

           # Create a connection
           con = radcon.connect_unix()

           # Retrieve the Master object
           master = con.get_object(sbind.Master())

           # Do something with the Master object
           print "%d service instances are online" % \
               len([x for x in master.instances if x.state == sbind.SMFState.ONLINE])

       Master Properties
           StructService[] services (read-only)

               Read Error: SmfError

           StructInstance[] instances (read-only)

               Read Error: SmfError

       Master Events
           StateChange statechange

           Addition additions

           Removal removals

ENUMERATED TYPES
       enum DepGrouping -- indicates how dependencies are evaluated

           REQUIRE_ALL (0) -- all dependencies must be satisfied

           REQUIRE_ANY (1) -- only one dependency must be satisfied

           EXCLUDE_ALL (2) -- no dependency may be satisfied

           OPTIONAL_ALL (3) -- all satisfiable dependencies must be satisfied

       enum DepRestart -- describes when the dependent should be restarted

           ERROR (0) -- restart when a dependency encounters an error

           RESTART (1) -- restart any time a dependency restarts

           REFRESH (2) -- restart when a dependency is refreshed

           NONE (3) -- only process dependencies when starting instance

       enum PropertyType -- an SMF property type

           UNKNOWN (0)

           BOOLEAN (1)

           COUNT (2)

           INTEGER (3)

           TIME (4)

           ASTRING (5)

           OPAQUE (6)

           USTRING (100)

           URI (200)

           FMRI (201)

           HOST (300)

           HOSTNAME (301)

           NET_ADDRESS_V4 (302)

           NET_ADDRESS_V6 (303)

           NET_ADDRESS (304)

       enum PropertyVisibility -- the recommended visibility of a property

           HIDDEN (0) -- the property shouldn't be displayed

           READONLY (1) -- the property isn't intended to be modified

           READWRITE (2) -- the property is modifiable

       enum ErrorCode -- the general cause for failure

           Indicates the general cause for failure. Specific meanings are
           defined by the individual APIs.

           INTERNAL (0) -- an internal error occurred

           DENIED (1) -- access denied

           READONLY (2) -- configuration database is read only

           NOTFOUND (3) -- named object wasn't found

           EXISTS (4) -- name is already in use

           BADVALUE (5) -- an illegal value was supplied

           BADSTATE (6) -- system was in an invalid state

           INVALID (7) -- API was called incorrectly

       enum ErrorTarget

           NONE (0)

           SNAPSHOT (1)

           PROPERTYGROUP (2)

           PROPERTY (3)

           VALUE (4)

       enum SMFState -- the state of an SMF instance

           NONE (0)

           UNINIT (1)

           MAINT (2)

           OFFLINE (3)

           DISABLED (4)

           ONLINE (5)

           DEGRADED (6)

           LEGACY (7)

STRUCTURE TYPES
       struct Dependency -- describes a dependency group

           Fully describes a dependency group, including the FMRIs for the
           dependencies, the type of dependency, and when the dependency
           should be evaluated.

           Fields:

           string name -- the name of the dependency group

           string[] target -- the list of dependencies' FMRIs

           DepGrouping grouping -- how the dependencies are evaluated

           DepRestart restartOn -- when the dependent should be restarted

       struct Property -- an SMF property and its values

           Describes a property, its type, and all its values.

           Fields:

           string name -- the name of the property

           PropertyType type -- the type of the property

           string[] values -- all the property's values

               A list of all the values held by the property. A single-valued
               property will have a list of length 1. A property with no
               values will have a list of length 0.

       struct Manpage -- a description of a man page

           Provides all the information needed to find a man page. The
           referenced man page can be displayed by running MANPATH=$path man
           -s $section $title.

           Fields:

           string title -- the man page name

           string section -- the section the man page is found in

           string path (nullable) -- the path the man page is found in

               The colon-separated MANPATH the man page is found in. If this
               field has no value, the default MANPATH should to be used.

       struct Doclink -- an on-line documentation link

           Fields:

           string name -- an informative name for the document

           string uri -- the URI of the document

       struct PropertyGroup -- an SMF property group

           Fields:

           string name -- the name of the property group

           string type -- the type of the property group

           uinteger flags -- the property group flags

       struct PGTemplate -- template data for a property group

           Fields:

           string pgname -- the property group name

           string pgtype -- the property group type

           boolean required -- is the property group required?

           string name (nullable) -- a localized name

           string description (nullable) -- a localized description

       struct PropTemplate -- template data for a property

           Fields:

           string propname -- the name of the property

           PropertyType proptype -- the type of the property

           boolean required -- is the property required?

           string name (nullable) -- a localized name

           string description (nullable) -- a localized description

           string units (nullable) -- a localized units label

           PropertyVisibility visibility -- how the property should be
           presented

           ulong cardinality_min -- the minimum number of values

           ulong cardinality_max -- the maximum number of values

           string[] separators (nullable) -- value separator characters

               Separator characters used to embed multiple values in a single
               property value.

       struct PropChange -- a change to make to a property

           Fields:

           string name -- the property to change

           PropertyType type -- the type of the property to write

           string[] values -- a list of values

       struct Decoration -- an SMF entity decoration

           Fields:

           string layer -- the layer associated with this decoration

           string bundle (nullable) -- the bundle associated with this
           decoration

           time modtime -- the last modification time

           string type (nullable) -- the decoration value type

           string[] values (nullable) -- a list of decoration values. This is
           only valid for property decorations.

       struct SmfError

           Fields:

           ErrorCode error

           ErrorTarget target

           string aux (nullable)

           string message (nullable)

       struct ExtendedState -- extended instance state information

           Fields:

           SMFState state -- the current state of the instance

           SMFState nextState -- the next state of the instance

           string auxstate (nullable) -- the auxiliary state of the instance

           time stime -- the time of last state change

           integer contractid -- the contract ID, or -1 if none

           boolean enabled_state -- is the instance enabled or disabled?

           boolean enabled_temp -- is the instance enabled/disabled
           temporarily?

               Indicates if the instance's enabled/disabled state is
               temporary.

       struct LogInfo -- instance log data

           Fields:

           string name -- the log file's name

           integer size -- the log file's size

           time MTime -- the log file's modification time

           opaque contents -- log file contents

       struct StructService

           Fields:

           string fmri

           name objectName

           string[] instances

       struct StructInstance

           Fields:

           string fmri

           name objectName

           time stime

           SMFState state

       struct StateChange

           Fields:

           name source

           SMFState state

           SMFState nextState

           string auxState (nullable)

           time stateTime

           string reason (nullable)

       struct Addition

           Fields:

           name name

           string frmi

           StructInstance instance (nullable)

           StructService service (nullable)

       struct Removal

           Fields:

           string fmri

       Version: (1.0)

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +--------------------+-------------------------+
       |  ATTRIBUTE TYPE    |     ATTRIBUTE VALUE     |
       +--------------------+-------------------------+
       |Availability        | system/management/rad/* |
       +--------------------+-------------------------+
       |Interface Stability | Private                 |
       +--------------------+-------------------------+

SEE ALSO
       rad(1M)



SunOS 5.11                        2017-01-11                         SMF(3rad)