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
131
131
end
132
132
133
133
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?
135
136
end
136
137
137
138
def validate_user_password_required ( account , pass )
@@ -144,11 +145,11 @@ def validate_user_password_required(account, pass)
144
145
end
145
146
146
147
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 ) )
148
149
end
149
150
150
151
def strong_password? ( key )
151
- password = self [ key ]
152
+ password = resolve_deferred_value ( self [ key ] )
152
153
return unless password
153
154
154
155
message_start = "Password for #{ key } is not strong"
@@ -162,4 +163,12 @@ def strong_password?(key)
162
163
163
164
true
164
165
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
165
174
end
You can’t perform that action at this time.
0 commit comments