summaryrefslogtreecommitdiff
path: root/lib/puppet/type/vcsrepo.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/type/vcsrepo.rb')
-rw-r--r--lib/puppet/type/vcsrepo.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/puppet/type/vcsrepo.rb b/lib/puppet/type/vcsrepo.rb
index 9bf8311..9824726 100644
--- a/lib/puppet/type/vcsrepo.rb
+++ b/lib/puppet/type/vcsrepo.rb
@@ -22,6 +22,9 @@ Puppet::Type.newtype(:vcsrepo) do
feature :ssh_identity,
"The provider supports a configurable SSH identity file"
+ feature :modules,
+ "The repository contains modules that can be chosen of"
+
ensurable do
attr_accessor :latest
@@ -73,7 +76,7 @@ Puppet::Type.newtype(:vcsrepo) do
prov = @resource.provider
if prov
if prov.working_copy_exists?
- prov.latest? ? :latest : :present
+ (@should.include?(:latest) && prov.latest?) ? :latest : :present
elsif prov.class.feature?(:bare_repositories) and prov.bare_exists?
:bare
else
@@ -148,4 +151,8 @@ Puppet::Type.newtype(:vcsrepo) do
newparam :identity, :required_features => [:ssh_identity] do
desc "SSH identity file"
end
+
+ newparam :module, :required_features => [:modules] do
+ desc "The repository module to manage"
+ end
end