Skip to content
Merged
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,4 @@ CLAUDE.md

# Keep windows files with windows line endings
*.winfile eol=crlf
.claude
6 changes: 4 additions & 2 deletions provider/datasource_rediscloud_acl_rule_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@ package provider

import (
"fmt"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"regexp"
"testing"

"github.com/RedisLabs/terraform-provider-rediscloud/provider/utils"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
)

func TestAccDataSourceRedisCloudAclRule_ForDefaultRule(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

// This rule already exists
const testName = "Read-Write"
Expand Down
10 changes: 6 additions & 4 deletions provider/datasource_rediscloud_active_active_database.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ package provider
import (
"context"
"fmt"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/client"

"github.com/RedisLabs/rediscloud-go-api/redis"
"github.com/RedisLabs/rediscloud-go-api/service/databases"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/client"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/pro"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/utils"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)
Expand Down Expand Up @@ -347,7 +349,7 @@ func dataSourceRedisCloudActiveActiveDatabaseRead(ctx context.Context, d *schema
if err != nil {
// Forgive errors here, sometimes we just can't get a latest status
} else {
parsedLatestBackupStatus, err := parseLatestBackupStatus(latestBackupStatus)
parsedLatestBackupStatus, err := utils.ParseLatestBackupStatus(latestBackupStatus)
if err != nil {
return diag.FromErr(err)
}
Expand All @@ -365,7 +367,7 @@ func dataSourceRedisCloudActiveActiveDatabaseRead(ctx context.Context, d *schema
if err != nil {
// Forgive errors here, sometimes we just can't get a latest status
} else {
parsedLatestImportStatus, err = parseLatestImportStatus(latestImportStatus)
parsedLatestImportStatus, err = utils.ParseLatestImportStatus(latestImportStatus)
if err != nil {
return diag.FromErr(err)
}
Expand All @@ -374,7 +376,7 @@ func dataSourceRedisCloudActiveActiveDatabaseRead(ctx context.Context, d *schema
return diag.FromErr(err)
}

if err := readTags(ctx, api, subId, dbId, d); err != nil {
if err := pro.ReadTags(ctx, api, subId, dbId, d); err != nil {
return diag.FromErr(err)
}

Expand Down
7 changes: 4 additions & 3 deletions provider/datasource_rediscloud_active_active_subscription.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"github.com/RedisLabs/rediscloud-go-api/redis"
"github.com/RedisLabs/rediscloud-go-api/service/subscriptions"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/client"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/pro"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"strconv"
Expand Down Expand Up @@ -167,7 +168,7 @@ func dataSourceRedisCloudActiveActiveSubscriptionRead(ctx context.Context, d *sc
})
}

subs = filterSubscriptions(subs, filters)
subs = pro.FilterSubscriptions(subs, filters)

if len(subs) == 0 {
return diag.Errorf("Your query returned no results. Please change your search criteria and try again.")
Expand Down Expand Up @@ -219,15 +220,15 @@ func dataSourceRedisCloudActiveActiveSubscriptionRead(ctx context.Context, d *sc
if err != nil {
return diag.FromErr(err)
}
if err := d.Set("maintenance_windows", flattenMaintenance(m)); err != nil {
if err := d.Set("maintenance_windows", pro.FlattenMaintenance(m)); err != nil {
return diag.FromErr(err)
}

pricingList, err := api.Client.Pricing.List(ctx, subId)
if err != nil {
return diag.FromErr(err)
}
if err := d.Set("pricing", flattenPricing(pricingList)); err != nil {
if err := d.Set("pricing", pro.FlattenPricing(pricingList)); err != nil {
return diag.FromErr(err)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/RedisLabs/rediscloud-go-api/redis"
"github.com/RedisLabs/rediscloud-go-api/service/subscriptions"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/client"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/pro"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)
Expand Down Expand Up @@ -107,7 +108,7 @@ func dataSourceRedisCloudActiveActiveRegionsRead(ctx context.Context, d *schema.
})
}

subs = filterSubscriptions(subs, filters)
subs = pro.FilterSubscriptions(subs, filters)

if len(subs) == 0 {
return diag.Errorf("Your query returned no results. Please change your search criteria and try again.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"github.com/RedisLabs/rediscloud-go-api/redis"
"github.com/RedisLabs/rediscloud-go-api/service/transit_gateway/attachments"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/client"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/utils"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"strconv"
Expand Down Expand Up @@ -110,7 +111,7 @@ func dataSourceActiveActiveTransitGatewayRead(ctx context.Context, d *schema.Res

tgw := tgws[0]
tgwId := redis.IntValue(tgw.Id)
d.SetId(buildResourceId(subId, tgwId))
d.SetId(utils.BuildResourceId(subId, tgwId))
if err := d.Set("tgw_id", tgwId); err != nil {
return diag.FromErr(err)
}
Expand Down
3 changes: 2 additions & 1 deletion provider/datasource_rediscloud_cloud_account_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package provider

import (
"fmt"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/utils"
"os"
"regexp"
"testing"
Expand All @@ -11,7 +12,7 @@ import (

func TestAccDataSourceRedisCloudCloudAccount_basic(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

name := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME")

Expand Down
3 changes: 2 additions & 1 deletion provider/datasource_rediscloud_data_persistence_test.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package provider

import (
"github.com/RedisLabs/terraform-provider-rediscloud/provider/utils"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
)

func TestAccDataSourceRedisCloudDataPersistence_basic(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

const dataPersistenceFoo = "data.rediscloud_data_persistence.foo"
resource.ParallelTest(t, resource.TestCase{
Expand Down
2 changes: 1 addition & 1 deletion provider/datasource_rediscloud_database_modules.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (

func dataSourceRedisCloudDatabaseModules() *schema.Resource {
return &schema.Resource{
Description: "The Database data source allows access to the details of an existing database within your Redis Enterprise Cloud account.",
Description: "The Database modules data source allows access to the details of existing database modules within your Redis Enterprise Cloud account.",
ReadContext: dataSourceRedisCloudDatabaseModulesRead,

Schema: map[string]*schema.Schema{
Expand Down
3 changes: 2 additions & 1 deletion provider/datasource_rediscloud_database_modules_test.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package provider

import (
"github.com/RedisLabs/terraform-provider-rediscloud/provider/utils"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
)

func TestAccDataSourceRedisCloudDatabaseModules_basic(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Expand Down
14 changes: 8 additions & 6 deletions provider/datasource_rediscloud_essentials_database.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import (
"github.com/RedisLabs/rediscloud-go-api/redis"
fixedDatabases "github.com/RedisLabs/rediscloud-go-api/service/fixed/databases"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/client"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/pro"
"github.com/RedisLabs/terraform-provider-rediscloud/provider/utils"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
Expand Down Expand Up @@ -408,7 +410,7 @@ func dataSourceRedisCloudEssentialsDatabaseRead(ctx context.Context, d *schema.R

databaseId := redis.IntValue(db.DatabaseId)

d.SetId(buildResourceId(subId, databaseId))
d.SetId(utils.BuildResourceId(subId, databaseId))

if err := d.Set("db_id", redis.IntValue(db.DatabaseId)); err != nil {
return diag.FromErr(err)
Expand Down Expand Up @@ -483,10 +485,10 @@ func dataSourceRedisCloudEssentialsDatabaseRead(ctx context.Context, d *schema.R
if err := d.Set("enable_default_user", redis.Bool(*db.Security.EnableDefaultUser)); err != nil {
return diag.FromErr(err)
}
if err := d.Set("alert", flattenAlerts(*db.Alerts)); err != nil {
if err := d.Set("alert", pro.FlattenAlerts(*db.Alerts)); err != nil {
return diag.FromErr(err)
}
if err := d.Set("modules", flattenModules(*db.Modules)); err != nil {
if err := d.Set("modules", pro.FlattenModules(*db.Modules)); err != nil {
return diag.FromErr(err)
}

Expand All @@ -495,7 +497,7 @@ func dataSourceRedisCloudEssentialsDatabaseRead(ctx context.Context, d *schema.R
if err != nil {
// Forgive errors here, sometimes we just can't get a latest status
} else {
parsedLatestBackupStatus, err = parseLatestBackupStatus(latestBackupStatus)
parsedLatestBackupStatus, err = utils.ParseLatestBackupStatus(latestBackupStatus)
if err != nil {
return diag.FromErr(err)
}
Expand All @@ -509,7 +511,7 @@ func dataSourceRedisCloudEssentialsDatabaseRead(ctx context.Context, d *schema.R
if err != nil {
// Forgive errors here, sometimes we just can't get a latest status
} else {
parsedLatestImportStatus, err = parseLatestImportStatus(latestImportStatus)
parsedLatestImportStatus, err = utils.ParseLatestImportStatus(latestImportStatus)
if err != nil {
return diag.FromErr(err)
}
Expand Down Expand Up @@ -540,7 +542,7 @@ func dataSourceRedisCloudEssentialsDatabaseRead(ctx context.Context, d *schema.R
if err := d.Set("enable_database_clustering", redis.BoolValue(db.Clustering.Enabled)); err != nil {
return diag.FromErr(err)
}
if err := d.Set("regex_rules", flattenRegexRules(db.Clustering.RegexRules)); err != nil {
if err := d.Set("regex_rules", pro.FlattenRegexRules(db.Clustering.RegexRules)); err != nil {
return diag.FromErr(err)
}
}
Expand Down
11 changes: 6 additions & 5 deletions provider/datasource_rediscloud_essentials_plan_test.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package provider

import (
"github.com/RedisLabs/terraform-provider-rediscloud/provider/utils"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"regexp"
"testing"
)

func TestAccDataSourceRedisCloudEssentialsPlan_basic(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

const basicPlan = "data.rediscloud_essentials_plan.basic"

Expand Down Expand Up @@ -50,7 +51,7 @@ func TestAccDataSourceRedisCloudEssentialsPlan_basic(t *testing.T) {

func TestAccDataSourceRedisCloudEssentialsPlan_azure(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

const azurePlan = "data.rediscloud_essentials_plan.azure"

Expand Down Expand Up @@ -92,7 +93,7 @@ func TestAccDataSourceRedisCloudEssentialsPlan_azure(t *testing.T) {

func TestAccDataSourceRedisCloudEssentialsPlan_subscriptionId(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

const examplePlan = "data.rediscloud_essentials_plan.example"

Expand Down Expand Up @@ -136,7 +137,7 @@ func TestAccDataSourceRedisCloudEssentialsPlan_subscriptionId(t *testing.T) {

func TestAccDataSourceRedisCloudEssentialsPlan_ambiguous(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Expand All @@ -153,7 +154,7 @@ func TestAccDataSourceRedisCloudEssentialsPlan_ambiguous(t *testing.T) {

func TestAccDataSourceRedisCloudEssentialsPlan_impossible(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Expand Down
3 changes: 2 additions & 1 deletion provider/datasource_rediscloud_payment_method_test.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package provider

import (
"github.com/RedisLabs/terraform-provider-rediscloud/provider/utils"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"regexp"
"testing"
)

func TestAccDataSourceRedisCloudPaymentMethod_basic(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Expand Down
21 changes: 7 additions & 14 deletions provider/datasource_rediscloud_pro_database_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,24 @@ import (
"os"
"testing"

"github.com/RedisLabs/terraform-provider-rediscloud/provider/utils"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
)

func TestAccDataSourceRedisCloudProDatabase_basic(t *testing.T) {

testAccRequiresEnvVar(t, "EXECUTE_TESTS")
utils.AccRequiresEnvVar(t, "EXECUTE_TESTS")

const dataSourceById = "data.rediscloud_database.example-by-id"
const dataSourceByName = "data.rediscloud_database.example-by-name"
password := acctest.RandString(20)

config := getRedisProDbDatasourceConfig(t, password)
testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME")
subscriptionName := acctest.RandomWithPrefix(testResourcePrefix)

content := utils.GetTestConfig(t, "./pro/testdata/pro_database_data_source.tf")
config := fmt.Sprintf(content, testCloudAccountName, subscriptionName, password)

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t); testAccAwsPreExistingCloudAccountPreCheck(t) },
Expand Down Expand Up @@ -67,15 +72,3 @@ func TestAccDataSourceRedisCloudProDatabase_basic(t *testing.T) {
})

}

func getRedisProDbDatasourceConfig(t *testing.T, password string) string {
testCloudAccountName := os.Getenv("AWS_TEST_CLOUD_ACCOUNT_NAME")
subscriptionName := acctest.RandomWithPrefix(testResourcePrefix)

content, err := os.ReadFile("./pro/testdata/testAccDatasourceRedisCloudProDatabase.tf")
if err != nil {
t.Fatalf("failed to read file: %v", err)
}

return fmt.Sprintf(string(content), testCloudAccountName, subscriptionName, password)
}
Loading
Loading