@@ -21,6 +21,8 @@ import (
2121	"github.com/hashicorp/terraform-plugin-sdk/v2/terraform" 
2222)
2323
24+ var  sloTimesliceMetricsMinVersion  =  version .Must (version .NewVersion ("8.12.0" ))
25+ 
2426func  TestAccResourceSlo (t  * testing.T ) {
2527	// This test exposes a bug in Kibana present in 8.11.x 
2628	slo8_9Constraints , err  :=  version .NewConstraint (">=8.9.0,!=8.11.0,!=8.11.1,!=8.11.2,!=8.11.3,!=8.11.4" )
@@ -257,11 +259,12 @@ func TestAccResourceSloGroupBy(t *testing.T) {
257259func  TestAccResourceSlo_timeslice_metric_indicator_basic (t  * testing.T ) {
258260	sloName  :=  sdkacctest .RandStringFromCharSet (22 , sdkacctest .CharSetAlphaNum )
259261	resource .Test (t , resource.TestCase {
260- 		PreCheck :                 func () { acctest .PreCheck (t ) },
261- 		CheckDestroy :             checkResourceSloDestroy ,
262- 		ProtoV6ProviderFactories : acctest .Providers ,
262+ 		PreCheck :     func () { acctest .PreCheck (t ) },
263+ 		CheckDestroy : checkResourceSloDestroy ,
263264		Steps : []resource.TestStep {
264265			{
266+ 				ProtoV6ProviderFactories : acctest .Providers ,
267+ 				SkipFunc :                 versionutils .CheckIfVersionIsUnsupported (sloTimesliceMetricsMinVersion ),
265268				Config : fmt .Sprintf (`resource "elasticstack_kibana_slo" "test_slo" { 
266269				  name        = "%s" 
267270				  description = "basic timeslice metric" 
@@ -304,11 +307,11 @@ func TestAccResourceSlo_timeslice_metric_indicator_basic(t *testing.T) {
304307func  TestAccResourceSlo_timeslice_metric_indicator_percentile (t  * testing.T ) {
305308	sloName  :=  sdkacctest .RandStringFromCharSet (22 , sdkacctest .CharSetAlphaNum )
306309	resource .Test (t , resource.TestCase {
307- 		PreCheck :                 func () { acctest .PreCheck (t ) },
308- 		CheckDestroy :             checkResourceSloDestroy ,
309- 		ProtoV6ProviderFactories : acctest .Providers ,
310+ 		PreCheck :     func () { acctest .PreCheck (t ) },
311+ 		CheckDestroy : checkResourceSloDestroy ,
310312		Steps : []resource.TestStep {
311- 			{
313+ 			{ProtoV6ProviderFactories : acctest .Providers ,
314+ 				SkipFunc : versionutils .CheckIfVersionIsUnsupported (sloTimesliceMetricsMinVersion ),
312315				Config : fmt .Sprintf (`resource "elasticstack_kibana_slo" "test_slo" { 
313316				  name        = "%s" 
314317				  description = "percentile timeslice metric" 
@@ -352,11 +355,12 @@ func TestAccResourceSlo_timeslice_metric_indicator_percentile(t *testing.T) {
352355func  TestAccResourceSlo_timeslice_metric_indicator_doc_count (t  * testing.T ) {
353356	sloName  :=  sdkacctest .RandStringFromCharSet (22 , sdkacctest .CharSetAlphaNum )
354357	resource .Test (t , resource.TestCase {
355- 		PreCheck :                 func () { acctest .PreCheck (t ) },
356- 		CheckDestroy :             checkResourceSloDestroy ,
357- 		ProtoV6ProviderFactories : acctest .Providers ,
358+ 		PreCheck :     func () { acctest .PreCheck (t ) },
359+ 		CheckDestroy : checkResourceSloDestroy ,
358360		Steps : []resource.TestStep {
359361			{
362+ 				ProtoV6ProviderFactories : acctest .Providers ,
363+ 				SkipFunc :                 versionutils .CheckIfVersionIsUnsupported (sloTimesliceMetricsMinVersion ),
360364				Config : fmt .Sprintf (`resource "elasticstack_kibana_slo" "test_slo" { 
361365				  name        = "%s" 
362366				  description = "doc_count timeslice metric" 
@@ -397,11 +401,12 @@ func TestAccResourceSlo_timeslice_metric_indicator_doc_count(t *testing.T) {
397401func  TestAccResourceSlo_timeslice_metric_indicator_mismatched_equation (t  * testing.T ) {
398402	sloName  :=  sdkacctest .RandStringFromCharSet (22 , sdkacctest .CharSetAlphaNum )
399403	resource .Test (t , resource.TestCase {
400- 		PreCheck :                 func () { acctest .PreCheck (t ) },
401- 		CheckDestroy :             checkResourceSloDestroy ,
402- 		ProtoV6ProviderFactories : acctest .Providers ,
404+ 		PreCheck :     func () { acctest .PreCheck (t ) },
405+ 		CheckDestroy : checkResourceSloDestroy ,
403406		Steps : []resource.TestStep {
404407			{
408+ 				ProtoV6ProviderFactories : acctest .Providers ,
409+ 				SkipFunc :                 versionutils .CheckIfVersionIsUnsupported (sloTimesliceMetricsMinVersion ),
405410				Config : fmt .Sprintf (`resource "elasticstack_kibana_slo" "test_slo" { 
406411				  name        = "%s" 
407412				  description = "mismatched metric/equation" 
@@ -440,11 +445,11 @@ func TestAccResourceSlo_timeslice_metric_indicator_mismatched_equation(t *testin
440445func  TestAccResourceSlo_timeslice_metric_indicator_multiple_mixed_metrics (t  * testing.T ) {
441446	sloName  :=  sdkacctest .RandStringFromCharSet (22 , sdkacctest .CharSetAlphaNum )
442447	resource .Test (t , resource.TestCase {
443- 		PreCheck :                 func () { acctest .PreCheck (t ) },
444- 		CheckDestroy :             checkResourceSloDestroy ,
445- 		ProtoV6ProviderFactories : acctest .Providers ,
448+ 		PreCheck :     func () { acctest .PreCheck (t ) },
449+ 		CheckDestroy : checkResourceSloDestroy ,
446450		Steps : []resource.TestStep {
447- 			{
451+ 			{ProtoV6ProviderFactories : acctest .Providers ,
452+ 				SkipFunc : versionutils .CheckIfVersionIsUnsupported (sloTimesliceMetricsMinVersion ),
448453				Config : fmt .Sprintf (`resource "elasticstack_kibana_slo" "test_slo" { 
449454				  name        = "%s" 
450455				  description = "multiple mixed metrics" 
0 commit comments