Initial commit
[puppet_vcsrepo.git] / lib / puppet / type / vcsrepo.rb
1 require 'pathname'
2
3 Puppet::Type.newtype(:vcsrepo) do
4   desc "A local version control repository"
5
6   ensurable
7
8   newparam(:path) do
9     desc "Absolute path to repository"
10     isnamevar
11     validate do |value|
12       path = Pathname.new(value)
13       unless path.absolute?
14         raise ArgumentError, "Path must be absolute: #{path}"
15       end
16     end
17   end
18
19   newparam(:source) do
20     desc "The source URL for the repository"
21     validate do |value|
22       URI.parse(value)
23     end
24   end
25
26   newproperty(:revision) do
27     desc "The revision of the repository"
28     newvalue(/^\S+$/)
29   end
30
31 end