77
88 "github.com/elastic/terraform-provider-elasticstack/internal/utils"
99 "github.com/elastic/terraform-provider-elasticstack/internal/utils/customtypes"
10+ "github.com/elastic/terraform-provider-elasticstack/internal/utils/typeutils"
1011 "github.com/hashicorp/terraform-plugin-framework-jsontypes/jsontypes"
1112 fwdiags "github.com/hashicorp/terraform-plugin-framework/diag"
1213 "github.com/hashicorp/terraform-plugin-framework/types"
@@ -300,10 +301,7 @@ func (tfModel *AnomalyDetectionJobTFModel) fromAPIModel(ctx context.Context, api
300301
301302 // Convert optional fields
302303 tfModel .AllowLazyOpen = types .BoolPointerValue (apiModel .AllowLazyOpen )
303-
304- if apiModel .BackgroundPersistInterval != "" {
305- tfModel .BackgroundPersistInterval = types .StringValue (apiModel .BackgroundPersistInterval )
306- }
304+ tfModel .BackgroundPersistInterval = typeutils .NonEmptyStringishValue (apiModel .BackgroundPersistInterval )
307305
308306 if apiModel .CustomSettings != nil {
309307 customSettingsJSON , err := json .Marshal (apiModel .CustomSettings )
@@ -324,10 +322,7 @@ func (tfModel *AnomalyDetectionJobTFModel) fromAPIModel(ctx context.Context, api
324322 tfModel .RenormalizationWindowDays = types .Int64Value (* apiModel .RenormalizationWindowDays )
325323 }
326324
327- if apiModel .ResultsIndexName != "" {
328- tfModel .ResultsIndexName = types .StringValue (apiModel .ResultsIndexName )
329- }
330-
325+ tfModel .ResultsIndexName = typeutils .NonEmptyStringishValue (apiModel .ResultsIndexName )
331326 tfModel .ResultsRetentionDays = types .Int64PointerValue (apiModel .ResultsRetentionDays )
332327
333328 // Convert analysis_config
@@ -363,29 +358,10 @@ func (tfModel *AnomalyDetectionJobTFModel) convertAnalysisConfigFromAPI(ctx cont
363358 }
364359
365360 // Convert optional string fields
366- if apiConfig .CategorizationFieldName != "" {
367- analysisConfigTF .CategorizationFieldName = types .StringValue (apiConfig .CategorizationFieldName )
368- } else {
369- analysisConfigTF .CategorizationFieldName = types .StringNull ()
370- }
371-
372- if apiConfig .Latency != "" {
373- analysisConfigTF .Latency = types .StringValue (apiConfig .Latency )
374- } else {
375- analysisConfigTF .Latency = types .StringNull ()
376- }
377-
378- if apiConfig .ModelPruneWindow != "" {
379- analysisConfigTF .ModelPruneWindow = types .StringValue (apiConfig .ModelPruneWindow )
380- } else {
381- analysisConfigTF .ModelPruneWindow = types .StringNull ()
382- }
383-
384- if apiConfig .SummaryCountFieldName != "" {
385- analysisConfigTF .SummaryCountFieldName = types .StringValue (apiConfig .SummaryCountFieldName )
386- } else {
387- analysisConfigTF .SummaryCountFieldName = types .StringNull ()
388- }
361+ analysisConfigTF .CategorizationFieldName = typeutils .NonEmptyStringishValue (apiConfig .CategorizationFieldName )
362+ analysisConfigTF .Latency = typeutils .NonEmptyStringishValue (apiConfig .Latency )
363+ analysisConfigTF .ModelPruneWindow = typeutils .NonEmptyStringishValue (apiConfig .ModelPruneWindow )
364+ analysisConfigTF .SummaryCountFieldName = typeutils .NonEmptyStringishValue (apiConfig .SummaryCountFieldName )
389365
390366 // Convert boolean fields
391367 analysisConfigTF .MultivariateByFields = types .BoolPointerValue (apiConfig .MultivariateByFields )
@@ -417,41 +393,12 @@ func (tfModel *AnomalyDetectionJobTFModel) convertAnalysisConfigFromAPI(ctx cont
417393 }
418394
419395 // Convert optional string fields
420- if detector .FieldName != "" {
421- detectorsTF [i ].FieldName = types .StringValue (detector .FieldName )
422- } else {
423- detectorsTF [i ].FieldName = types .StringNull ()
424- }
425-
426- if detector .ByFieldName != "" {
427- detectorsTF [i ].ByFieldName = types .StringValue (detector .ByFieldName )
428- } else {
429- detectorsTF [i ].ByFieldName = types .StringNull ()
430- }
431-
432- if detector .OverFieldName != "" {
433- detectorsTF [i ].OverFieldName = types .StringValue (detector .OverFieldName )
434- } else {
435- detectorsTF [i ].OverFieldName = types .StringNull ()
436- }
437-
438- if detector .PartitionFieldName != "" {
439- detectorsTF [i ].PartitionFieldName = types .StringValue (detector .PartitionFieldName )
440- } else {
441- detectorsTF [i ].PartitionFieldName = types .StringNull ()
442- }
443-
444- if detector .DetectorDescription != "" {
445- detectorsTF [i ].DetectorDescription = types .StringValue (detector .DetectorDescription )
446- } else {
447- detectorsTF [i ].DetectorDescription = types .StringNull ()
448- }
449-
450- if detector .ExcludeFrequent != "" {
451- detectorsTF [i ].ExcludeFrequent = types .StringValue (detector .ExcludeFrequent )
452- } else {
453- detectorsTF [i ].ExcludeFrequent = types .StringNull ()
454- }
396+ detectorsTF [i ].FieldName = typeutils .NonEmptyStringishValue (detector .FieldName )
397+ detectorsTF [i ].ByFieldName = typeutils .NonEmptyStringishValue (detector .ByFieldName )
398+ detectorsTF [i ].OverFieldName = typeutils .NonEmptyStringishValue (detector .OverFieldName )
399+ detectorsTF [i ].PartitionFieldName = typeutils .NonEmptyStringishValue (detector .PartitionFieldName )
400+ detectorsTF [i ].DetectorDescription = typeutils .NonEmptyStringishValue (detector .DetectorDescription )
401+ detectorsTF [i ].ExcludeFrequent = typeutils .NonEmptyStringishValue (detector .ExcludeFrequent )
455402
456403 // Convert boolean field
457404 detectorsTF [i ].UseNull = types .BoolPointerValue (detector .UseNull )
@@ -530,18 +477,9 @@ func (tfModel *AnomalyDetectionJobTFModel) convertDataDescriptionFromAPI(ctx con
530477 return types .ObjectNull (getDataDescriptionAttrTypes ())
531478 }
532479
533- dataDescriptionTF := DataDescriptionTFModel {}
534-
535- if apiDataDescription .TimeField != "" {
536- dataDescriptionTF .TimeField = types .StringValue (apiDataDescription .TimeField )
537- } else {
538- dataDescriptionTF .TimeField = types .StringNull ()
539- }
540-
541- if apiDataDescription .TimeFormat != "" {
542- dataDescriptionTF .TimeFormat = types .StringValue (apiDataDescription .TimeFormat )
543- } else {
544- dataDescriptionTF .TimeFormat = types .StringNull ()
480+ dataDescriptionTF := DataDescriptionTFModel {
481+ TimeField : typeutils .NonEmptyStringishValue (apiDataDescription .TimeField ),
482+ TimeFormat : typeutils .NonEmptyStringishValue (apiDataDescription .TimeFormat ),
545483 }
546484
547485 dataDescriptionObjectValue , d := types .ObjectValueFrom (ctx , getDataDescriptionAttrTypes (), dataDescriptionTF )
@@ -576,12 +514,7 @@ func (tfModel *AnomalyDetectionJobTFModel) convertModelPlotConfigFromAPI(ctx con
576514
577515 modelPlotConfigTF := ModelPlotConfigTFModel {
578516 Enabled : types .BoolValue (apiModelPlotConfig .Enabled ),
579- }
580-
581- if apiModelPlotConfig .Terms != "" {
582- modelPlotConfigTF .Terms = types .StringValue (apiModelPlotConfig .Terms )
583- } else {
584- modelPlotConfigTF .Terms = types .StringNull ()
517+ Terms : typeutils .NonEmptyStringishValue (apiModelPlotConfig .Terms ),
585518 }
586519
587520 modelPlotConfigTF .AnnotationsEnabled = types .BoolPointerValue (apiModelPlotConfig .AnnotationsEnabled )
0 commit comments