File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -131,7 +131,8 @@ def validate
131131 end
132132
133133 def set? ( key )
134- !self [ key ] . nil? && !self [ key ] . empty?
134+ self_key = resolve_deferred_value ( self [ key ] )
135+ !self_key . nil? && !self_key . empty?
135136 end
136137
137138 def validate_user_password_required ( account , pass )
@@ -144,11 +145,11 @@ def validate_user_password_required(account, pass)
144145 end
145146
146147 def domain_or_local_user? ( user )
147- PuppetX ::Sqlserver ::ServerHelper . is_domain_or_local_user? ( user , Facter . value ( :hostname ) )
148+ PuppetX ::Sqlserver ::ServerHelper . is_domain_or_local_user? ( resolve_deferred_value ( user ) , Facter . value ( :hostname ) )
148149 end
149150
150151 def strong_password? ( key )
151- password = self [ key ]
152+ password = resolve_deferred_value ( self [ key ] )
152153 return unless password
153154
154155 message_start = "Password for #{ key } is not strong"
@@ -162,4 +163,12 @@ def strong_password?(key)
162163
163164 true
164165 end
166+
167+ # When preprocess_deferred is false, deferred values remain unresolved at the time of validation, causing it to fail.
168+ # To address this, following logic is added to explicitly resolve deferred values during validation
169+ def resolve_deferred_value ( value )
170+ return value unless value . is_a? ( Puppet ::Pops ::Evaluator ::DeferredValue )
171+
172+ value . resolve
173+ end
165174end
You can’t perform that action at this time.
0 commit comments