Skip to content
Closed

wip #682

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@ vendor

# Keep windows files with windows line endings
*.winfile eol=crlf
.claude
.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