X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=manifests%2Fpin.pp;h=9310653b2d77ea4887a10a022531e8c7599cca2e;hb=refs%2Ftags%2Fv8.2.0;hp=5b9dc1d408e2daf8068c70a046c5e9d0074f5f9e;hpb=42637245f33087cb698eaed07623b5a9eafeb780;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/manifests/pin.pp b/manifests/pin.pp index 5b9dc1d..9310653 100644 --- a/manifests/pin.pp +++ b/manifests/pin.pp @@ -1,20 +1,52 @@ -# pin.pp -# pin a release in apt, useful for unstable repositories - +# @summary Manages Apt pins. Does not trigger an apt-get update run. +# +# @see http://linux.die.net/man/5/apt_preferences for context on these parameters +# +# @param ensure +# Specifies whether the pin should exist. Valid options: 'file', 'present', and 'absent'. +# +# @param explanation +# Supplies a comment to explain the pin. Default: "${caller_module_name}: ${name}". +# +# @param order +# Determines the order in which Apt processes the pin file. Files with lower order numbers are loaded first. +# +# @param packages +# Specifies which package(s) to pin. +# +# @param priority +# Sets the priority of the package. If multiple versions of a given package are available, `apt-get` installs the one with the highest +# priority number (subject to dependency constraints). Valid options: an integer. +# +# @param release +# Tells APT to prefer packages that support the specified release. Typical values include 'stable', 'testing', and 'unstable'. +# +# @param release_version +# Tells APT to prefer packages that support the specified operating system release version (such as Debian release version 7). +# +# @param component +# Names the licensing component associated with the packages in the directory tree of the Release file. +# +# @param originator +# Names the originator of the packages in the directory tree of the Release file. +# +# @param label +# Names the label of the packages in the directory tree of the Release file. +# define apt::pin( - Optional[Enum['file', 'present', 'absent']] $ensure = present, - Optional[Variant[String, Stdlib::Compat::String]] $explanation = undef, - Variant[Integer, Stdlib::Compat::Integer] $order = 50, - Variant[String, Stdlib::Compat::String, Stdlib::Compat::Array, Array] $packages = '*', - Variant[Numeric, String, Stdlib::Compat::String] $priority = 0, - Optional[Variant[String, Stdlib::Compat::String]] $release = '', # a= - Optional[Variant[String, Stdlib::Compat::String]] $origin = '', - Optional[Variant[String, Stdlib::Compat::String]] $version = '', - Optional[Variant[String, Stdlib::Compat::String]] $codename = '', # n= - Optional[Variant[String, Stdlib::Compat::String]] $release_version = '', # v= - Optional[Variant[String, Stdlib::Compat::String]] $component = '', # c= - Optional[Variant[String, Stdlib::Compat::String]] $originator = '', # o= - Optional[Variant[String, Stdlib::Compat::String]] $label = '', # l= + Optional[Enum['file', 'present', 'absent']] $ensure = present, + Optional[String] $explanation = undef, + Variant[Integer] $order = 50, + Variant[String, Array] $packages = '*', + Variant[Numeric, String] $priority = 0, + Optional[String] $release = '', # a= + Optional[String] $origin = '', + Optional[String] $version = '', + Optional[String] $codename = '', # n= + Optional[String] $release_version = '', # v= + Optional[String] $component = '', # c= + Optional[String] $originator = '', # o= + Optional[String] $label = '', # l= ) { if $explanation { @@ -40,7 +72,7 @@ define apt::pin( # Read the manpage 'apt_preferences(5)', especially the chapter # 'The Effect of APT Preferences' to understand the following logic # and the difference between specific and general form - if is_array($packages) { + if $packages =~ Array { $packages_string = join($packages, ' ') } else { $packages_string = $packages