@@ -1960,6 +1960,7 @@ public VMTemplateVO createPrivateTemplateRecord(CreateTemplateCmd cmd, Account t
19601960 VMTemplateVO template = _tmpltDao .persist (privateTemplate );
19611961 // Increment the number of templates
19621962 if (template != null ) {
1963+ List <String > templateSettingsDenyList = List .of (TemplateSettingsInheritanceDenyList .value ().split ("," ));
19631964 Map <String , String > details = new HashMap <String , String >();
19641965
19651966 if (sourceTemplateId != null ) {
@@ -1976,9 +1977,10 @@ public VMTemplateVO createPrivateTemplateRecord(CreateTemplateCmd cmd, Account t
19761977 if (userVm != null ) {
19771978 _userVmDao .loadDetails (userVm );
19781979 Map <String , String > vmDetails = userVm .getDetails ();
1980+ logger .debug ("Removing the {} settings from template because they were defined in the {} global setting." , templateSettingsDenyList , TemplateSettingsInheritanceDenyList .key ());
19791981 vmDetails = vmDetails .entrySet ()
19801982 .stream ()
1981- .filter (map -> map .getValue () != null )
1983+ .filter (map -> map .getValue () != null && ! templateSettingsDenyList . contains ( map . getKey ()) )
19821984 .collect (Collectors .toMap (map -> map .getKey (), map -> map .getValue ()));
19831985 details .putAll (vmDetails );
19841986 }
@@ -2364,7 +2366,7 @@ public String getConfigComponentName() {
23642366
23652367 @ Override
23662368 public ConfigKey <?>[] getConfigKeys () {
2367- return new ConfigKey <?>[] {AllowPublicUserTemplates , TemplatePreloaderPoolSize , ValidateUrlIsResolvableBeforeRegisteringTemplate };
2369+ return new ConfigKey <?>[] {AllowPublicUserTemplates , TemplatePreloaderPoolSize , ValidateUrlIsResolvableBeforeRegisteringTemplate , TemplateSettingsInheritanceDenyList };
23682370 }
23692371
23702372 public List <TemplateAdapter > getTemplateAdapters () {
0 commit comments