Go to main content

Using Puppet to Perform Configuration Management in Oracle® Solaris 11.3

Exit Print View

Updated: September 2018
 
 

About Puppet Resources and Resource Types

Puppet uses resources and resource types to describe a system's configuration. Resources are grouped into collections. At a high level, a resource is referred to as a type, which describes a specific resource that Puppet can manage on a system, such as users, packaging, networking, and so on.

At a platform-specific level, a resource is referred to as a provider. Providers are the platform-specific implementations of a specified type. Providers translate the general definitions for a resource into the actions that are required to implement the resource on that specific platform.

Resource types and providers are at the heart of the Puppet Resource Abstraction Layer (RAL). Oracle Solaris includes several built-in Puppet resource types and providers that apply to a specific Puppet version, as well as additional resource types that are distributed in individual Puppet modules that enable you to manage certain aspects of networking, naming services, and so on. There are also types that are unique to managing specific Oracle Solaris features, for example, Oracle Solaris Zones.

As previously mentioned, 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 nodes.

You can also include node-specific code in a main Puppet manifest to define configuration that pertains to certain nodes. See Writing Puppet Manifests, Classes, and Modules in Oracle Solaris.

Display all of the Puppet resource types that are available on a system as follows:

# puppet resource --types
address_object
address_properties
augeas
boot_environment
computer
cron
dns
etherstub
exec
file
filebucket
group
host
interface
interface_properties
ip_interface
ip_tunnel
ipmp_interface
k5login
ldap
link_aggregation
link_properties
macauthorization
mailalias
maillist
mcx
mount
nagios_command
nagios_contact
nagios_contactgroup
nagios_host
nagios_hostdependency
nagios_hostescalation
nagios_hostextinfo
nagios_hostgroup
nagios_service
nagios_servicedependency
nagios_serviceescalation
nagios_serviceextinfo
nagios_servicegroup
nagios_timeperiod
nis
notify
nsswitch
package
pkg_facet
pkg_mediator
pkg_publisher
pkg_variant
protocol_properties
resources
router
schedule
scheduled_task
selboolean
selmodule
service
solaris_vlan
ssh_authorized_key
sshkey
stage
svccfg
tidy
user
vlan
vni_interface
vnic
whit
yumrepo
zfs
zone
zpool

The previous output includes both Oracle Solaris-specific types and core Puppet types, which are available for use on other platforms.