Add support for passing password/ticket
authorPaul Allen <pallen@perforce.com>
Mon, 16 Jun 2014 16:04:52 +0000 (17:04 +0100)
committerPaul Allen <pallen@perforce.com>
Fri, 20 Jun 2014 11:16:29 +0000 (12:16 +0100)
Uses param ‘p4passwd’ to set P4PASSWD environment to pass a valid
ticket or password.

README.P4.markdown
lib/puppet/provider/vcsrepo/p4.rb
lib/puppet/type/vcsrepo.rb

index 39fffd2..f92f616 100644 (file)
@@ -71,9 +71,18 @@ You can set `p4port` to specify a Perforce server:
         p4port   => 'ssl:perforce.com:1666'
     }
 
-If `p4port`, `p4user`, `p4charset` or `p4client` are specified they will override the
-environment variabels P4PORT, P4USER, etc... If a P4CONFIG file is defined, the config
-file settings will take precedence.
+You can set `p4passwd` for authentication :
+
+    vcsrepo { "/path/to/repo":
+        ensure   => present,
+        provider => p4,
+        source   => '//depot/branch/...',
+        p4port   => 'ssl:perforce.com:1666'
+    }
+
+If `p4port`, `p4user`, `p4charset`, `p4passwd` or `p4client` are specified they will 
+override the environment variabels P4PORT, P4USER, etc... If a P4CONFIG file is 
+defined, the config file settings will take precedence.
 
 
 More Examples
index 2fdae70..df1ec21 100644 (file)
@@ -162,12 +162,14 @@ Puppet::Type.type(:vcsrepo).provide(:p4, :parent => Puppet::Provider::Vcsrepo) d
                p4port = @resource.value(:p4port)
                p4user = @resource.value(:p4user)
                p4charset = @resource.value(:p4charset)
+               p4passwd = @resource.value(:p4passwd)
                p4client = @resource.value(:p4client) || client_name
        
                cfg = Hash.new  
                cfg.store 'P4USER', p4user if p4user
                cfg.store 'P4PORT', p4port if p4port
                cfg.store 'P4CHARSET', p4charset if p4charset
+               cfg.store 'P4PASSWD', p4passwd if p4passwd
                cfg.store 'P4CLIENT', p4client if p4client
                
                return cfg      
index ad964c5..649789a 100644 (file)
@@ -227,6 +227,10 @@ Puppet::Type.newtype(:vcsrepo) do
   newparam :p4charset, :required_features => [:p4_config] do
     desc "The Perforce P4CHARSET environment."
   end
+  
+  newparam :p4passwd, :required_features => [:p4_config] do
+    desc "The Perforce P4PASSWD environment."
+  end
     
   autorequire(:package) do
     ['git', 'git-core']