{"action":"opened","issue":{"url":"https://api.github.com/repos/Brainsware/puppet-tarsnap/issues/9","labels_url":"https://api.github.com/repos/Brainsware/puppet-tarsnap/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/Brainsware/puppet-tarsnap/issues/9/comments","events_url":"https://api.github.com/repos/Brainsware/puppet-tarsnap/issues/9/events","html_url":"https://github.com/Brainsware/puppet-tarsnap/issues/9","id":78270816,"number":9,"title":"Main tarsnap class does not \"contain\" tarsnap::install and tarsnap::config subclasses","user":{"login":"cpick","id":278767,"avatar_url":"https://avatars.githubusercontent.com/u/278767?v=3","gravatar_id":"","url":"https://api.github.com/users/cpick","html_url":"https://github.com/cpick","followers_url":"https://api.github.com/users/cpick/followers","following_url":"https://api.github.com/users/cpick/following{/other_user}","gists_url":"https://api.github.com/users/cpick/gists{/gist_id}","starred_url":"https://api.github.com/users/cpick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpick/subscriptions","organizations_url":"https://api.github.com/users/cpick/orgs","repos_url":"https://api.github.com/users/cpick/repos","events_url":"https://api.github.com/users/cpick/events{/privacy}","received_events_url":"https://api.github.com/users/cpick/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-05-19T22:15:17Z","updated_at":"2015-05-19T22:15:17Z","closed_at":null,"body":"The main tarsnap class declares tarsnap::install and tarsnap::config but it doesn't [\"contain\"](http://docs.puppetlabs.com/puppet/3.8/reference/lang_containment.html) them.  As a result users of the tarsnap class cannot effectively include it in dependencies.\r\n\r\nFor example, I noticed this when I tried to install tarsnap from the PPA:\r\n\r\n    apt::ppa { 'ppa:tarsnap/lts': }\r\n    class { 'tarsnap': require => Exec['apt_update'], }\r\n\r\nIf the sub-classes were contained, the above \"require\" attribute would ensure that the PPA was installed and that apt had been updated before the tarsnap module attempted to install the tarsnap package.  As it's currently implemented my installation failed because the tarsnap package could not be found."}}