-### apt::source
-
-Adds an apt source to `/etc/apt/sources.list.d/`.
-
- apt::source { 'debian_unstable':
- location => 'http://debian.mirror.iweb.ca/debian/',
- release => 'unstable',
- repos => 'main contrib non-free',
- required_packages => 'debian-keyring debian-archive-keyring',
- key => '55BE302B',
- key_server => 'subkeys.pgp.net',
- pin => '-10',
- include_src => true
- }
-
-If you would like to configure your system so the source is the Puppet Labs APT repository
-
- apt::source { 'puppetlabs':
- location => 'http://apt.puppetlabs.com',
- repos => 'main',
- key => '4BD6EC30',
- key_server => 'pgp.mit.edu',
+ `apt::builddep { 'glusterfs-server': }`
+
+* `apt::conf`: Specifies a custom configuration file. The priority defaults to 50, but you can set the priority parameter to load the file earlier or later. The content parameter passes specified content, if any, into the file resource.
+
+* `apt::hold`: Holds a specific version of a package. You can hold a package to a full version or a partial version.
+
+ To set a package's ensure attribute to 'latest' but get the version specified by `apt::hold`:
+
+ ```
+ apt::hold { 'vim':
+ version => '2:7.3.547-7',
+ }
+ ```
+
+ Alternatively, if you want to hold your package at a partial version, you can use a wildcard. For example, you can hold Vim at version 7.3.*:
+
+
+ ```
+ apt::hold { 'vim':
+ version => '2:7.3.*',
+ }
+ ```
+
+* `apt::force`: Forces a package to be installed from a specific release. This is particularly useful when using repositories that are unstable in Ubuntu, such as Debian.
+
+ ```
+ apt::force { 'glusterfs-server':
+ release => 'unstable',
+ version => '3.0.3',
+ cfg_files => 'unchanged',
+ cfg_missing => true,
+ require => Apt::Source['debian_unstable'],
+ }
+ ```
+
+ Valid values for `cfg_files` are:
+ * 'new': Overwrites all existing configuration files with newer ones.
+ * 'old': Forces usage of all old files.
+ * 'unchanged: Updates only unchanged config files.
+ * 'none': Provides backward-compatibility with existing Puppet manifests.
+
+ Valid values for `cfg_missing` are 'true', 'false'. Setting this to 'false' provides backward compatability; setting it to 'true' checks for and installs missing configuration files for the selected package.
+
+* `apt::key`: Adds a key to the list of keys used by Apt to authenticate packages. This type uses the aforementioned `apt_key` native type. As such, it no longer requires the `wget` command on which the old implementation depended.
+
+ ```
+ apt::key { 'puppetlabs':
+ key => '1054B7A24BD6EC30',
+ key_server => 'pgp.mit.edu',
+ }
+
+ apt::key { 'jenkins':
+ key => '9B7D32F2D50582E6',
+ key_source => 'http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key',
+ }
+ ```
+
+* `apt::pin`: Defined type that adds an Apt pin for a certain release.
+
+ ```
+ apt::pin { 'karmic': priority => 700 }
+ apt::pin { 'karmic-updates': priority => 700 }
+ apt::pin { 'karmic-security': priority => 700 }
+ ```
+
+ Note that you can also specify more complex pins using distribution properties.
+
+ ```
+ apt::pin { 'stable':
+ priority => -10,
+ originator => 'Debian',
+ release_version => '3.0',
+ component => 'main',
+ label => 'Debian'
+ }
+ ```
+
+ If you want to pin a number of packages, you can specify the packages as a space-delimited string using the `packages` attribute, or you can pass in an array of package names.
+
+* `apt::ppa`: Adds a PPA repository using `add-apt-repository`. For example, `apt::ppa { 'ppa:drizzle-developers/ppa': }`.
+
+* `apt::source`: Adds an Apt source to `/etc/apt/sources.list.d/`. For example:
+
+ ```
+ apt::source { 'debian_unstable':
+ comment => 'This is the iWeb Debian unstable mirror',
+ location => 'http://debian.mirror.iweb.ca/debian/',
+ release => 'unstable',
+ repos => 'main contrib non-free',
+ required_packages => 'debian-keyring debian-archive-keyring',
+ key => '8B48AD6246925553',
+ key_server => 'subkeys.pgp.net',
+ pin => '-10',
+ include_src => true,
+ include_deb => true
+ }
+ ```
+
+ For example, to configure your system so the source is the Puppet Labs Apt repository:
+
+ ```
+ apt::source { 'puppetlabs':
+ location => 'http://apt.puppetlabs.com',
+ repos => 'main',
+ key => '1054B7A24BD6EC30',
+ key_server => 'pgp.mit.edu',