filesystem_type feature (for svn's --fstype)

This commit is contained in:
Bruce Williams
2010-03-14 17:02:14 -07:00
parent dabaf6e10e
commit 52e078444a
2 changed files with 6 additions and 3 deletions

View File

@@ -7,6 +7,7 @@ Puppet::Type.type(:vcsrepo).provide(:svn, :parent => Puppet::Provider::Vcsrepo)
:svnadmin => 'svnadmin' :svnadmin => 'svnadmin'
defaultfor :svn => :exists defaultfor :svn => :exists
has_features :filesystem_types
def create def create
if !@resource.value(:source) if !@resource.value(:source)

View File

@@ -11,6 +11,8 @@ Puppet::Type.newtype(:vcsrepo) do
and those with working copies", and those with working copies",
:methods => [:bare_exists?, :working_copy_exists?] :methods => [:bare_exists?, :working_copy_exists?]
feature :filesystem_types,
"The provider supports different filesystem types"
ensurable do ensurable do
@@ -62,8 +64,8 @@ Puppet::Type.newtype(:vcsrepo) do
desc "The source URI for the repository" desc "The source URI for the repository"
end end
newparam(:fstype) do newparam(:fstype, :required_features => [:filesystem_types]) do
desc "Filesystem type (for providers that support it, eg subversion)" desc "Filesystem type"
end end
newproperty(:revision) do newproperty(:revision) do
@@ -72,7 +74,7 @@ Puppet::Type.newtype(:vcsrepo) do
end end
newparam :compression, :required_features => [:gzip_compression] do newparam :compression, :required_features => [:gzip_compression] do
desc "Compression level (used by CVS)" desc "Compression level"
validate do |amount| validate do |amount|
unless Integer(amount).between?(0, 6) unless Integer(amount).between?(0, 6)
raise ArgumentError, "Unsupported compression level: #{amount} (expected 0-6)" raise ArgumentError, "Unsupported compression level: #{amount} (expected 0-6)"