puppet_agent
: Upgrades Puppet 4 and newer to the requested version.puppet_agent::configure
: Uses $puppet_agent::config to manage settings in puppet.conf.puppet_agent::install
: This class is called from puppet_agent for install.puppet_agent::install::darwin
: Manage the install process for Darwin OSes specifically.puppet_agent::install::solaris
: Manage the install process for Solaris OSes specifically.puppet_agent::install::suse
: Manage the install process for SUSE OSes specifically.puppet_agent::install::windows
: Manage the install process for Windows OSes specifically.puppet_agent::osfamily::aix
: Used to determine the puppet-agent package location for AIX OSes.puppet_agent::osfamily::darwin
: Used to determine the puppet-agent package location for Darwin OSes.puppet_agent::osfamily::debian
: Determines the puppet-agent package location for Debian OSes.puppet_agent::osfamily::redhat
: Determines the puppet-agent package location for RedHat OSes.puppet_agent::osfamily::solaris
: Determines the puppet-agent package location for Solaris OSes.puppet_agent::osfamily::suse
: Determines the puppet-agent package location for SUSE OSes.puppet_agent::osfamily::windows
: Determines the puppet-agent package location for Windows OSes.puppet_agent::params
: Sets variables according to platform.puppet_agent::prepare
: This class is called from puppet_agent to prepare for the upgrade.puppet_agent::prepare::package
: Ensures correct puppet-agent package is downloaded locally.puppet_agent::prepare::puppet_config
: Private class called from puppet_agent::prepare class.puppet_agent::service
: Ensures that managed services are running.
puppet_agent_end_run
: Stops the current Puppet run if a puppet-agent upgrade was performed. Used on platforms that manage the Puppet Agent upgrade with a package rpuppet_agent_upgrade_error
: Fails when a previous background installation failed. The type will check for the existance of an installation failure log and raise an error
any_resources_of_type
: A function used to determine if there are anyuri_host_from_string
windows_msi_installargs
windows_native_path
Puppet_agent::Arch
: This type stores all possible architecture patternsPuppet_agent::Config
: This Puppet type aliasPuppet_agent::Config_setting
: An enumerated list of settings which are permitted to be managed by this module.
delete_local_filebucket
: Removes the local filebucketfacts_diff
: Run the Puppet agent facts diff actioninstall
: Install the Puppet agent packageinstall_powershell
: Install the Puppet agent packageinstall_shell
: Install the Puppet agent packagerun
: Run the Puppet agent. This task may cause problems if run in Puppet Enterprise.version
: Get the version of the Puppet agent package installed. Returns nothing if none present.version_powershell
: Get the version of the Puppet agent package installed. Returns nothing if none present.version_shell
: Get the version of the Puppet agent package installed. Returns nothing if none present.
puppet_agent::run
: Starts a Puppet agent run on the specified targets. Note: This plan may cause issues when run in Puppet Enterprise.
Upgrades Puppet 4 and newer to the requested version.
The following parameters are available in the puppet_agent
class:
arch
collection
is_pe
manage_pki_dir
manage_repo
package_name
package_version
service_names
source
absolute_source
yum_source
apt_source
mac_source
windows_source
solaris_source
aix_source
use_alternate_sources
alternate_pe_source
install_dir
install_options
msi_move_locked_files
wait_for_pxp_agent_exit
wait_for_puppet_run
config
proxy
version_file_path
skip_if_unavailable
disable_proxy
Data type: String
The package architecture. Defaults to the architecture fact.
Default value: $facts['os']['architecture']
Data type: String
The Puppet Collection to track. Defaults to 'PC1'.
Default value: $puppet_agent::params::collection
Data type: Boolean
Install from Puppet Enterprise repos. Enabled if communicating with a PE master.
Default value: $puppet_agent::params::_is_pe
Data type: Boolean
Whether or not to manage the /etc/pki directory. Defaults to true. Managing the /etc/pki directory inside the puppet_agent module can be problematic for organizations that manage gpg keys and settings in other modules.
Default value: true
Data type: Boolean
Boolean to determine whether to configure repositories This is intended to provide the ability to disable configuring a local repo in support of systems that manage external repositories (i.e. spacewalk/satellite) to enable users to add the proper packages to their internal repos and to utilize default package providers for the install
Default value: true
Data type: String
The package to upgrade to, i.e. puppet-agent
.
Default value: 'puppet-agent'
Data type: Optional
The package version to upgrade to. Explicitly specify the version to upgrade to, or set to 'auto' to specify the version of the compiling master.
Default value: undef
Data type: Array
An array of services to start, normally puppet
.
None will be started if the array is empty.
Default value: $puppet_agent::params::service_names
Data type: Optional
INCLUDED FOR COMPATIBILITY WITH MODULE VERSIONS 1.0/2.0. PREFER USE OF "absolute_source", "apt_source", "deb_source" etc. OVER USE OF "source".
The location to find packages. Replaces base URL for unix/MacOS agents, used as fully qualified path in windows
Default value: undef
Data type: Optional
The exact location of the package to install. The entire path to the package must be provided with this parameter.
Default value: undef
Data type: String
Base URL of the location of mirrors of yum.puppet.com downloads sites. Directories under the URL "yum_source" should match the structure of the yum.puppet.com
Default value: 'http://yum.puppet.com'
Data type: String
Base URL of the location of mirrors of apt.puppet.com downloads sites. Directories under the URL "apt_source" should match the structure of the apt.puppet.com
Default value: 'https://apt.puppet.com'
Data type: String
Base URL of the location of mirrors of downloads.puppet.com downloads site that serves MacOS packages. Directories under the URL "mac_source" should match the structure of the downloads.puppet.com site
Default value: 'https://downloads.puppet.com'
Data type: String
Base URL of the location of mirrors of downloads.puppet.com downloads site that serves Windows packages. Directories under the URL "windows_source" should match the structure of the downloads.puppet.com site
Default value: 'https://downloads.puppet.com'
Data type: String
Base URL of the location of a mirror for Solaris packages. Currently, solaris packages can only be made available by using puppetlabs-pe_repo. This means the mirror must be of a PE master package serve.
Default value: 'puppet:///pe_packages'
Data type: String
Base URL of the location of a mirror for AIX packages. Currently, AIX packages can only be made available by using puppetlabs-pe_repo. This means the mirror must be of a PE master package serve.
Default value: 'puppet:///pe_packages'
Data type: Boolean
ONLY APPLICABLE WHEN WORKING WITH PE INSTALLTIONS When set to true will force downloads to come from the values of $apt_source, $deb_source $mac_source etc. rather than from the default PE master package serve. Note that this will also force downloads to ignore alternate_pe_source
Default value: false
Data type: Optional
Base URL of the location where packages are located in the same structure that's served by a PE master (the directory structure in PE for serving packages is created by the puppetlabs-pe_repo module). The general structure served by PE is: /packages/${pe_server_version}/${platform_tag}/${package_name}
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
The directory the puppet agent should be installed to. This is only applicable for windows operating systems. This only applies when upgrading the agent to a new version; it will not cause re-installation of the same version to a new location.
Default value: undef
Data type: Array
An array of additional options to pass when installing puppet-agent. Each option in
the array can either be a string or a hash. Each option will automatically be quoted
when passed to the install command. With Windows packages, note that file paths in an
install option must use backslashes. (Since install options are passed directly to
the installation command, forward slashes won't be automatically converted like they
are in file
resources.) Note also that backslashes in double-quoted strings must
be escaped and backslashes in single-quoted strings can be escaped.
Default value: []
Data type: Boolean
This is only applicable for Windows operating systems. There may be instances where file locks cause unncessary service restarts. By setting to true, the module will move files prior to installation that are known to cause file locks.
Default value: false
Data type: Optional
This parameter is only applicable for Windows operating systems and pertains to the /files/install_agent.ps1 script. This parameterizes the module to define the wait time for the PXP agent to end successfully. The default value is set 2 minutes.
Default value: undef
Data type: Optional
This parameter is only applicable for Windows operating systems and pertains to the /files/install_agent.ps1 script. This parameterizes the module to define the wait time for the current puppet agent run to end successfully. The default value is set 2 minutes.
Default value: undef
Data type: Array[Puppet_agent::Config]
An array of configuration data to enforce. Each configuration data item must be a Puppet_agent::Config hash, which has keys for puppet.conf section, setting, and value. This parameter is constrained to managing only a predetermined set of configuration settings, e.g. runinterval.
Default value: []
Data type: Optional
This is to be able to configure yum-repo with proxy, needed for example for clients in DMZs that need to use proxy to reach the repo provided by puppetserver.
Default value: undef
Data type: Stdlib::Absolutepath
The default install path for the VERSION file
Default value: '/opt/puppetlabs/puppet/VERSION'
Data type: Variant[Boolean, String]
For yum-based repositories, set the skip_if_unavailable option of the yumrepo
type.
Default value: 'absent'
Data type: Boolean
Default value: false
It does not require management of the agent package.
This class is called from puppet_agent for install.
The following parameters are available in the puppet_agent::install
class:
Data type: String
The puppet-agent version to install.
Default value: 'present'
Data type: Optional[Stdlib::Absolutepath]
The directory the puppet agent should be installed to. This is only applicable for windows operating systems.
Default value: undef
Data type: Array[Variant[String, Hash]]
An array of additional options to pass when installing puppet-agent. Each option in
the array can either be a string or a hash. Each option will automatically be quoted
when passed to the install command. With Windows packages, note that file paths in an
install option must use backslashes. (Since install options are passed directly to
the installation command, forward slashes won't be automatically converted like they
are in file
resources.) Note also that backslashes in double-quoted strings must
be escaped and backslashes in single-quoted strings can be escaped.
Default value: []
Private class called from puppet_agent class.
The following parameters are available in the puppet_agent::install::darwin
class:
Data type: String
The puppet-agent version to install.
Data type: Array[Variant[String, Hash]]
An array of additional options to pass when installing puppet-agent. Each option in
the array can either be a string or a hash. Each option will automatically be quoted
when passed to the install command. With Windows packages, note that file paths in an
install option must use backslashes. (Since install options are passed directly to
the installation command, forward slashes won't be automatically converted like they
are in file
resources.) Note also that backslashes in double-quoted strings must
be escaped and backslashes in single-quoted strings can be escaped.
Default value: []
Private class called from puppet_agent class.
The following parameters are available in the puppet_agent::install::solaris
class:
Data type: String
The puppet-agent version to install.
Data type: Array[Variant[String, Hash]]
An array of additional options to pass when installing puppet-agent. Each option in
the array can either be a string or a hash. Each option will automatically be quoted
when passed to the install command. With Windows packages, note that file paths in an
install option must use backslashes. (Since install options are passed directly to
the installation command, forward slashes won't be automatically converted like they
are in file
resources.) Note also that backslashes in double-quoted strings must
be escaped and backslashes in single-quoted strings can be escaped.
Default value: []
Private class called from puppet_agent class.
The following parameters are available in the puppet_agent::install::suse
class:
Data type: String
The puppet-agent version to install.
Data type: Array[Variant[String, Hash]]
An array of additional options to pass when installing puppet-agent.
Each option in the array can either be a string or a hash.
Each option will automatically be quoted when passed to the install command.
With Windows packages, note that file paths in an install option must use
backslashes. (Since install options are passed directly to the installation
command, forward slashes won't be automatically converted like they are in
file
resources.) Note also that backslashes in double-quoted strings
must be escaped and backslashes in single-quoted strings can be escaped.
Default value: []
Private class called from puppet_agent class.
The following parameters are available in the puppet_agent::install::windows
class:
Data type: Array[Variant[String, Hash]]
An array of additional options to pass when installing puppet-agent. Each option in
the array can either be a string or a hash. Each option will automatically be quoted
when passed to the install command. With Windows packages, note that file paths in an
install option must use backslashes. (Since install options are passed directly to
the installation command, forward slashes won't be automatically converted like they
are in file
resources.) Note also that backslashes in double-quoted strings must
be escaped and backslashes in single-quoted strings can be escaped.
Default value: []
Data type: Optional
The directory the puppet agent should be installed to. This is only applicable for windows operating systems.
Default value: undef
Used to determine the puppet-agent package location for AIX OSes.
Used to determine the puppet-agent package location for Darwin OSes.
Determines the puppet-agent package location for Debian OSes.
Determines the puppet-agent package location for RedHat OSes.
Determines the puppet-agent package location for Solaris OSes.
Determines the puppet-agent package location for SUSE OSes.
Determines the puppet-agent package location for Windows OSes.
This class is meant to be called from puppet_agent.
This class is called from puppet_agent to prepare for the upgrade.
The following parameters are available in the puppet_agent::prepare
class:
Data type: Optional
The puppet-agent version to install.
Default value: undef
for installation. This is used on platforms without package managers capable of working with a remote https repository.
The following parameters are available in the puppet_agent::prepare::package
class:
Data type: Variant[String, Array]
The source file for the puppet-agent package. Can use any of the data types and protocols that the File resource's source attribute can.
Private class called from puppet_agent::prepare class.
The following parameters are available in the puppet_agent::prepare::puppet_config
class:
Data type: String
The puppet-agent version to install.
This class is meant to be called from puppet_agent.
Stops the current Puppet run if a puppet-agent upgrade was performed. Used on platforms that manage the Puppet Agent upgrade with a package resource, as resources evaluated after an upgrade might cause unexpected behavior due to a mix of old and new Ruby code being loaded in memory.
Platforms that shell out to external scripts for upgrading (Windows, macOS, and Solaris 10) do not need to use this type.
The following properties are available in the puppet_agent_end_run
type.
Stops the current puppet run
The following parameters are available in the puppet_agent_end_run
type.
namevar
The desired puppet-agent version
The specific backend to use for this puppet_agent_end_run
resource. You will seldom need to specify this --- Puppet
will usually discover the appropriate provider for your platform.
Fails when a previous background installation failed. The type will check for the existance of an installation failure log and raise an error with the contents of the log if it exists
The following properties are available in the puppet_agent_upgrade_error
type.
whether or not the error log exists
The following parameters are available in the puppet_agent_upgrade_error
type.
namevar
The name of the failure log to check for in puppet's $statedir. If this log exists the resource will fail.
The specific backend to use for this puppet_agent_upgrade_error
resource. You will seldom need to specify this ---
Puppet will usually discover the appropriate provider for your platform.
Type: Ruby 4.x API
Puppet::Parser::Resource instances of the passed in resource type
Puppet::Parser::Resource instances of the passed in resource type
Returns: Boolean
Whether there are any instances of resource_type
Data type: String
Resource type that is being looked for
Data type: Optional[Hash[Any, Any]]
Optional parameters
Type: Ruby 3.x API
The uri_host_from_string function.
The uri_host_from_string function.
Returns: Any
Return a uri host from a string
Type: Ruby 3.x API
The windows_msi_installargs function.
The windows_msi_installargs function.
Returns: String
Return the $install_options parameter as a string usable in an msiexec command
Type: Ruby 3.x API
The windows_native_path function.
The windows_native_path function.
Returns: Any
Return a windows native path
This type stores all possible architecture patterns
Alias of Pattern[/^x86$/, /^x64$/, /^i386$/, /^i86pc$/, /^amd64$/, /^x86_64$/, /^power$/, /^sun4[uv]$/, /^ppc64le$/, /^aarch64$/, /PowerPC_POWER/]
This Puppet type alias
Alias of
Variant[Struct[{ section => Enum[main, server, agent, user, master],
setting => Puppet_agent::Config_setting,
value => String,
Optional[ensure] => Enum[present, absent] }], Struct[{ section => Enum[main, server, agent, user, master],
setting => Puppet_agent::Config_setting,
Optional[ensure] => Enum[absent] }]]
An enumerated list of settings which are permitted to be managed by this module.
Alias of Enum[agent_catalog_run_lockfile, agent_disabled_lockfile, allow_duplicate_certs, allow_pson_serialization, always_retry_plugins, autoflush, autosign, basemodulepath, binder_config, bucketdir, ca_fingerprint, ca_name, ca_port, ca_refresh_interval, ca_server, ca_ttl, cacert, cacrl, cadir, cakey, capub, catalog_cache_terminus, catalog_terminus, cert_inventory, certdir, certificate_revocation, certname, ciphers, classfile, client_datadir, clientbucketdir, clientyamldir, code, codedir, color, confdir, config, config_file_name, config_version, configprint, crl_refresh_interval, csr_attributes, csrdir, daemonize, data_binding_terminus, default_file_terminus, default_manifest, default_schedules, deviceconfdir, deviceconfig, devicedir, diff, diff_args, digest_algorithm, disable_i18n, disable_per_environment_manifest, disable_warnings, dns_alt_names, document_all, environment, environment_data_provider, environment_timeout, environment_timeout_mode, environmentpath, evaltrace, exclude_unchanged_resources, external_nodes, fact_name_length_soft_limit, fact_value_length_soft_limit, facterng, factpath, facts_terminus, fileserverconfig, filetimeout, forge_authorization, freeze_main, func3x_check, future_features, genconfig, genmanifest, graph, graphdir, group, hiera_config, hostcert, hostcert_renewal_interval, hostcrl, hostcsr, hostprivkey, hostpubkey, http_connect_timeout, http_debug, http_extra_headers, http_keepalive_timeout, http_proxy_host, http_proxy_password, http_proxy_port, http_proxy_user, http_read_timeout, http_user_agent, ignore_plugin_errors, ignoremissingtypes, ignoreschedules, include_legacy_facts, key_type, keylength, lastrunfile, lastrunreport, ldapattrs, ldapbase, ldapclassattrs, ldapparentattr, ldappassword, ldapport, ldapserver, ldapssl, ldapstackedattrs, ldapstring, ldaptls, ldapuser, libdir, localcacert, localedest, localesource, location_trusted, log_level, logdest, logdir, manage_internal_file_permissions, manifest, masterport, max_deprecations, max_errors, max_warnings, maximum_uid, maxwaitforcert, maxwaitforlock, merge_dependency_warnings, mkusers, module_groups, module_repository, module_working_dir, modulepath, name, named_curve, no_proxy, node_cache_terminus, node_name, node_name_fact, node_name_value, node_terminus, noop, number_of_facts_soft_limit, onetime, passfile, path, payload_soft_limit, pidfile, plugindest, pluginfactdest, pluginfactsource, pluginsignore, pluginsource, pluginsync, postrun_command, preferred_serialization_format, preprocess_deferred, prerun_command, preview_outputdir, priority, privatedir, privatekeydir, profile, publicdir, publickeydir, puppet_trace, puppetdlog, report, report_configured_environmentpath, report_include_system_store, report_port, report_server, reportdir, reports, reporturl, requestdir, resourcefile, rest_authconfig, resubmit_facts, rich_data, route_file, rundir, runinterval, runtimeout, serial, server, server_datadir, server_list, serverport, settings_catalog, show_diff, signeddir, skip_tags, sourceaddress, splay, splaylimit, srv_domain, ssl_client_ca_auth, ssl_client_header, ssl_client_verify_header, ssl_lockfile, ssl_server_ca_auth, ssl_trust_store, ssldir, statedir, statefile, statettl, static_catalogs, storeconfigs, storeconfigs_backend, strict, strict_environment_mode, strict_hostname_checking, strict_variables, summarize, supported_checksum_types, syslogfacility, tags, tasks, top_level_facts_soft_limit, trace, transactionstorefile, trusted_external_command, trusted_oid_mapping_file, use_cached_catalog, use_last_environment, use_srv_records, usecacheonfailure, user, vardir, vendormoduledir, versioned_environment_dirs, waitforcert, waitforlock, write_catalog_summary, yamldir]
Removes the local filebucket
Supports noop? false
Data type: Optional[Boolean]
ignore nonexistent files and errors
Run the Puppet agent facts diff action
Supports noop? false
Data type: Optional[String]
Regex used to exclude specific facts from diff
Install the Puppet agent package
Supports noop? true
Data type: Optional[String]
The version of puppet-agent to install (defaults to latest when no agent is installed)
Data type: Optional[Enum[puppet7, puppet8, puppet, puppet7-nightly, puppet8-nightly, puppet-nightly]]
The Puppet collection to install from (defaults to puppet, which maps to the latest collection released)
Data type: Optional[String]
The absolute source location to find the Puppet agent package
Data type: Optional[String]
The source location to find yum repos (defaults to yum.puppet.com)
Data type: Optional[String]
The source location to find apt repos (defaults to apt.puppet.com)
Data type: Optional[String]
The source location to find mac packages (defaults to downloads.puppet.com)
Data type: Optional[String]
The source location to find windows packages (defaults to downloads.puppet.com)
Data type: Optional[String]
optional install arguments to the windows installer (defaults to REINSTALLMODE="amus")
Data type: Optional[Boolean]
Whether to stop the puppet agent service after install
Data type: Optional[Integer]
The number of retries in case of network connectivity failures
Install the Puppet agent package
Supports noop? true
Data type: Optional[String]
The version of puppet-agent to install
Data type: Optional[Enum[puppet7, puppet8, puppet, puppet7-nightly, puppet8-nightly, puppet-nightly]]
The Puppet collection to install from (defaults to puppet, which maps to the latest collection released)
Data type: Optional[String]
The absolute source location to find the Puppet agent package
Data type: Optional[String]
The source location to find yum repos (defaults to yum.puppet.com)
Data type: Optional[String]
The source location to find apt repos (defaults to apt.puppet.com)
Data type: Optional[String]
The source location to find mac packages (defaults to downloads.puppet.com)
Data type: Optional[String]
The source location to find windows packages (defaults to downloads.puppet.com)
Data type: Optional[String]
optional install arguments to the windows installer (defaults to REINSTALLMODE="amus")
Data type: Optional[Boolean]
Whether to stop the puppet agent service after install
Data type: Optional[Integer]
The number of retries in case of network connectivity failures
Install the Puppet agent package
Supports noop? true
Data type: Optional[String]
The version of puppet-agent to install
Data type: Optional[Enum[puppet7, puppet8, puppet, puppet7-nightly, puppet8-nightly, puppet-nightly]]
The Puppet collection to install from (defaults to puppet, which maps to the latest collection released)
Data type: Optional[String]
The absolute source location to find the Puppet agent package
Data type: Optional[String]
The source location to find yum repos (defaults to yum.puppet.com)
Data type: Optional[String]
The source location to find apt repos (defaults to apt.puppet.com)
Data type: Optional[String]
The source location to find mac packages (defaults to downloads.puppet.com)
Data type: Optional[String]
The source location to find windows packages (defaults to downloads.puppet.com)
Data type: Optional[String]
optional install arguments to the windows installer (defaults to REINSTALLMODE="amus")
Data type: Optional[Boolean]
Whether to stop the puppet agent service after install
Data type: Optional[Integer]
The number of retries in case of network connectivity failures
Run the Puppet agent. This task may cause problems if run in Puppet Enterprise.
Supports noop? false
Data type: Boolean
run the puppet agent with --noop
Data type: Optional[String[1]]
The desired puppet code environment to use
Get the version of the Puppet agent package installed. Returns nothing if none present.
Supports noop? false
Get the version of the Puppet agent package installed. Returns nothing if none present.
Supports noop? false
Get the version of the Puppet agent package installed. Returns nothing if none present.
Supports noop? false
Starts a Puppet agent run on the specified targets. Note: This plan may cause issues when run in Puppet Enterprise.
The following parameters are available in the puppet_agent::run
plan:
Data type: TargetSpec
The targets to start a Puppet agent run on.
Data type: Boolean
if true, all runs will use --noop
Default value: false
Data type: Optional[String[1]]
the desired puppet code environment
Default value: undef