A resource is a specific piece of a system that Puppet is managing. A resource type is the kind of resource, such as a service, file, package, host, interface, or user. A resource provider implements support for a specific implementation of a given resource type, such as a resource type on a particular platform. Resource types can be built-in, defined, or custom.
The following are examples of built-in resource types and their providers on Oracle Solaris:
The zone built-in resource type has only one provider: solaris.
One of the many providers for the package resource type is Oracle Solaris pkg.
Note that the sun provider for the package resource type is only for Oracle Solaris 10 packages and earlier.
One of the many providers for the service resource type is Oracle Solaris smf.
The user_role_add provider for the user resource type implements user and role management on Oracle Solaris.
The oracle-solaris_providers IPS package delivers Oracle Solaris providers. This package is installed automatically when you install Puppet.
additional resource types that are distributed in individual Puppet modules that enable you to manage certain configuration such as networking or naming services. Oracle Solaris also includes Puppet resource types that manage specific Oracle Solaris features such as Oracle Solaris Zones.
Puppet uses a declarative language to describe system resources and their state. This information is written in manifests. You can use a Puppet site manifest (site.pp), which is located on the Puppet master, to define global configuration that is common to all of the managed nodes.
You can also include node-specific code in a Puppet site manifest to define configuration for specified nodes. See Writing Puppet Manifests, Classes, and Modules in Oracle Solaris.
# puppet resource --types address_object address_properties anchor augeas boot_environment ... zfs zfs_acl zone zpool
# puppet describe --list address_object - Manage the configuration of Oracle Solaris ad ... address_properties - Manage Oracle Solaris address properties anchor - A simple resource type intended to be used as ... augeas - Apply a change or an array of changes to the ... boot_environment - Manage Oracle Solaris Boot Environments (BEs) computer - Computer object management using DirectorySer ... cron - Installs and manages cron jobs. Every cron re ... dns - Manage the configuration of the DNS client fo ... etherstub - Manage the configuration of Solaris etherstub ... evs - Manage the configuration of Oracle Solaris Elastic ... evs_ipnet - Manage the configuration of IPnet (subnet of ... evs_properties - Manage global properties of EVS (Elastic V ... evs_vport - Manage the configuration of EVS VPort exec - Executes external commands. Any command in an ... file - Manages files, including their content, owner ... file_line - Ensures that a given line is contained within ... filebucket - A repository for storing and retrieving file ... group - Manage groups. On most platforms this can ... host - Installs and manages host entries. For most ... ilb_healthcheck - Manage Solaris Integrated Load Balancer (ILB) ... ilb_rule - Manage Solaris Integrated Load Balancer (ILB) ... ilb_server - Manage Solaris Integrated Load Balancer (ILB ... ilb_servergroup - Manage Solaris Integrated Load Balancer (ILB) ... ini_setting - ini_subsetting - interface - This represents a router or switch interface. ... interface_properties - Manage Oracle Solaris interface properties ip_interface - Manage the configuration of Oracle Solaris IP ... ip_tunnel - Manage the configuration of Oracle Solaris IP ... ipmp_interface - Manage the configuration of Oracle Solaris IP ... k5login - Manage the `.k5login` file for a user. Specify ... ldap - Manage the configuration of the LDAP client ... link_aggregation - Manage the configuration of Oracle Solaris ... link_properties - Manage Oracle Solaris link properties macauthorization - Manage the Mac OS X authorization database. ... mailalias - Creates an email alias in the local alias dat ... maillist - Manage email lists. This resource type can on ... mcx - MCX object management using DirectoryService ... mount - Manages mounted filesystems, including putting ... nagios_command - The Nagios type command. This resource type ... nagios_contact - The Nagios type contact. This resource type ... nagios_contactgroup - The Nagios type contactgroup. This resource ... nagios_host - The Nagios type host. This resource type is a ... nagios_hostdependency - The Nagios type hostdependency. This resource ... nagios_hostescalation - The Nagios type hostescalation. This resource ... nagios_hostextinfo - The Nagios type hostextinfo. This resource ... nagios_hostgroup - The Nagios type hostgroup. This resource type ... nagios_service - The Nagios type service. This resource type ... nagios_servicedependency - The Nagios type servicedependency. This ... nagios_serviceescalation - The Nagios type serviceescalation. This ... nagios_serviceextinfo - The Nagios type serviceextinfo. This resource ... nagios_servicegroup - The Nagios type servicegroup. This resource ... nagios_timeperiod - The Nagios type timeperiod. This resource ... nis - Manage the configuration of the NIS client ... notify - Sends an arbitrary message to the agent run-time ... nsswitch - Name service switch configuration data package - Manage packages. There is a basic dichotomy ... pkg_facet - Manage Oracle Solaris package facets pkg_mediator - Manage Oracle Solaris package mediators pkg_publisher - Manage Oracle Solaris package publishers pkg_variant - Manage Oracle Solaris package variants protocol_properties - Manage Oracle Solaris protocol properties resources - This is a metatype that can manage other ... router - Manages connected router. schedule - Define schedules for Puppet. Resources can be ... scheduled_task - Installs and manages Windows Scheduled Tasks. ... selboolean - Manages SELinux booleans on systems with ... selmodule - Manages loading and unloading of SELinux ... service - Manage running services. Service support ... solaris_vlan - Manage the configuration of Oracle Solaris VLANs ... ssh_authorized_key - Manages SSH authorized keys. Currently only ... sshkey - Installs and manages ssh host keys. By default ... stage - A resource type for creating new run stages. ... svccfg - Manage SMF service properties with svccfg(8). system_attributes - Manage system attributes on ZFS files. See ... tidy - Remove unwanted files based on specific criteria ... user - Manage users. This type is mostly built to ... vlan - Manages a VLAN on a router or switch. vni_interface - Manage the configuration of Solaris VNI ... vnic - Manage the configuration of Oracle Solaris ... whit - Whits are internal artifacts of Puppet's current ... yumrepo - The client-side description of a yum repo ... zfs - Manage zfs. Create destroy and set properties ... zfs_acl - Manage NFSv4 ACL Specifications on ZFS Files ... zone - Manages Solaris zones. zpool - Manage zpools. Create and delete zpools. The ...
Use the following command to display information about a specific resource type, such as the Oracle Solaris specific resource type zone.
# puppet describe zone zone ==== Manages Oracle Solaris zones. Parameters ---------- - **archive** The archive file containing an archived zone. - **archived_zonename** The archived zone to configure and install - **brand** The zone's brand type - **clone** Instead of installing the zone, clone it from another zone. If the zone root resides on a zfs file system, a snapshot will be used to create the clone; if it resides on a ufs filesystem, a copy of the zone will be used. The zone from which you clone must not be running. - **config_profile** Path to the config_profile to use to configure a solaris zone. This is set when providing a sysconfig profile instead of running the sysconfig SCI tool on first boot of the zone. - **ensure** The running state of the zone. The valid states directly reflect the states that `zoneadm` provides. The states are linear, in that a zone must be `configured`, then `installed`, and only then can be `running`. Note also that `halt` is currently used to stop zones. Valid values are `absent`, `configured`, `installed`, `running`. . . . - **zonecfg_export** Contains the zone configuration information. This can be passed in in the form of a file generated by the zonecfg command, in the form of a template, or a string. - **zonepath** The path to zone's file system. Providers --------- solaris
For more examples that are specific to Oracle Solaris, see Using Puppet to Manage System Configuration in Oracle Solaris.