+ 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',