Skip to content

Commit d5c8cca

Browse files
authored
INTMDB-427: Cloud backup schedule, export fix (#968)
* Addressing failures on cloud backup schedule * Updated condition for updating export request
1 parent 7d368d8 commit d5c8cca

File tree

2 files changed

+24
-26
lines changed

2 files changed

+24
-26
lines changed

mongodbatlas/resource_mongodbatlas_cloud_backup_schedule.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ func cloudBackupScheduleCreateOrUpdate(ctx context.Context, conn *matlas.Client,
461461
export.ExportBucketID = itemObj["export_bucket_id"].(string)
462462
export.FrequencyType = itemObj["frequency_type"].(string)
463463
req.Export = nil
464-
if *req.AutoExportEnabled {
464+
if autoExportEnabled := d.Get("auto_export_enabled"); autoExportEnabled != nil && autoExportEnabled.(bool) {
465465
req.Export = &export
466466
}
467467
}

mongodbatlas/resource_mongodbatlas_cloud_backup_schedule_test.go

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,6 @@ func TestAccBackupRSCloudBackupSchedule_basic(t *testing.T) {
118118
}
119119

120120
func TestAccBackupRSCloudBackupSchedule_export(t *testing.T) {
121-
t.Skip() // TODO: Address failures in v1.4.6
122-
123121
var (
124122
resourceName = "mongodbatlas_cloud_backup_schedule.schedule_test"
125123
projectID = os.Getenv("MONGODB_ATLAS_PROJECT_ID")
@@ -384,7 +382,7 @@ func testAccMongoDBAtlasCloudBackupScheduleConfigNoPolicies(projectID, clusterNa
384382
resource "mongodbatlas_cluster" "my_cluster" {
385383
project_id = "%s"
386384
name = "%s"
387-
385+
388386
// Provider Settings "block"
389387
provider_name = "AWS"
390388
provider_region_name = "EU_CENTRAL_1"
@@ -408,7 +406,7 @@ func testAccMongoDBAtlasCloudBackupScheduleDefaultConfig(projectID, clusterName
408406
resource "mongodbatlas_cluster" "my_cluster" {
409407
project_id = "%s"
410408
name = "%s"
411-
409+
412410
// Provider Settings "block"
413411
provider_name = "AWS"
414412
provider_region_name = "EU_CENTRAL_1"
@@ -453,7 +451,7 @@ func testAccMongoDBAtlasCloudBackupScheduleOnePolicyConfig(projectID, clusterNam
453451
resource "mongodbatlas_cluster" "my_cluster" {
454452
project_id = "%s"
455453
name = "%s"
456-
454+
457455
// Provider Settings "block"
458456
provider_name = "AWS"
459457
provider_region_name = "EU_CENTRAL_1"
@@ -483,7 +481,7 @@ func testAccMongoDBAtlasCloudBackupScheduleNewPoliciesConfig(projectID, clusterN
483481
resource "mongodbatlas_cluster" "my_cluster" {
484482
project_id = "%s"
485483
name = "%s"
486-
484+
487485
// Provider Settings "block"
488486
provider_name = "AWS"
489487
provider_region_name = "EU_CENTRAL_1"
@@ -498,7 +496,7 @@ func testAccMongoDBAtlasCloudBackupScheduleNewPoliciesConfig(projectID, clusterN
498496
reference_hour_of_day = %d
499497
reference_minute_of_hour = %d
500498
restore_window_days = %d
501-
499+
502500
policy_item_hourly {
503501
frequency_interval = 2
504502
retention_unit = "days"
@@ -554,7 +552,7 @@ func testAccMongoDBAtlasCloudBackupScheduleAdvancedPoliciesConfig(projectID, clu
554552
resource "mongodbatlas_cluster" "my_cluster" {
555553
project_id = "%s"
556554
name = "%s"
557-
555+
558556
// Provider Settings "block"
559557
provider_name = "AWS"
560558
provider_region_name = "EU_CENTRAL_1"
@@ -569,7 +567,7 @@ func testAccMongoDBAtlasCloudBackupScheduleAdvancedPoliciesConfig(projectID, clu
569567
reference_hour_of_day = %d
570568
reference_minute_of_hour = %d
571569
restore_window_days = %d
572-
570+
573571
policy_item_hourly {
574572
frequency_interval = 2
575573
retention_unit = "days"
@@ -620,68 +618,68 @@ provider "aws" {
620618
resource "mongodbatlas_cluster" "my_cluster" {
621619
project_id = %[1]q
622620
name = %[2]q
623-
621+
624622
// Provider Settings "block"
625623
provider_name = "AWS"
626624
provider_region_name = "US_WEST_2"
627625
provider_instance_size_name = "M10"
628626
cloud_backup = true //enable cloud provider snapshots
629627
depends_on = ["mongodbatlas_cloud_backup_snapshot_export_bucket.test"]
630628
}
631-
629+
632630
resource "mongodbatlas_cloud_backup_schedule" "schedule_test" {
633631
project_id = mongodbatlas_cluster.my_cluster.project_id
634632
cluster_name = mongodbatlas_cluster.my_cluster.name
635633
auto_export_enabled = true
636634
reference_hour_of_day = 20
637635
reference_minute_of_hour = "05"
638636
restore_window_days = 4
639-
637+
640638
policy_item_daily {
641639
frequency_interval = 1
642640
retention_unit = "days"
643641
retention_value = 4
644642
}
645643
export {
646-
export_bucket_id = mongodbatlas_cloud_backup_snapshot_export_bucket.test.export_bucket_id
647-
frequency_type = "daily"
644+
export_bucket_id = mongodbatlas_cloud_backup_snapshot_export_bucket.test.export_bucket_id
645+
frequency_type = "daily"
648646
}
649647
}
650-
648+
651649
resource "aws_s3_bucket" "backup" {
652650
bucket = "${local.mongodbatlas_project_id}-s3-mongodb-backups"
653651
force_destroy = true
654652
object_lock_configuration {
655653
object_lock_enabled = "Enabled"
656654
}
657655
}
658-
656+
659657
resource "mongodbatlas_cloud_provider_access_setup" "setup_only" {
660658
project_id = %[1]q
661659
provider_name = "AWS"
662660
}
663-
661+
664662
resource "mongodbatlas_cloud_provider_access_authorization" "auth_role" {
665663
project_id = %[1]q
666664
role_id = mongodbatlas_cloud_provider_access_setup.setup_only.role_id
667-
665+
668666
aws {
669667
iam_assumed_role_arn = aws_iam_role.test_role.arn
670668
}
671669
}
672-
670+
673671
resource "mongodbatlas_cloud_backup_snapshot_export_bucket" "test" {
674672
project_id = %[1]q
675-
673+
676674
iam_role_id = mongodbatlas_cloud_provider_access_authorization.auth_role.role_id
677675
bucket_name = aws_s3_bucket.backup.bucket
678676
cloud_provider = "AWS"
679677
}
680-
678+
681679
resource "aws_iam_role_policy" "test_policy" {
682680
name = %[1]q
683681
role = aws_iam_role.test_role.id
684-
682+
685683
policy = <<-EOF
686684
{
687685
"Version": "2012-10-17",
@@ -695,10 +693,10 @@ resource "aws_iam_role_policy" "test_policy" {
695693
}
696694
EOF
697695
}
698-
696+
699697
resource "aws_iam_role" "test_role" {
700698
name = %[4]q
701-
699+
702700
assume_role_policy = <<EOF
703701
{
704702
"Version": "2012-10-17",
@@ -718,7 +716,7 @@ resource "aws_iam_role" "test_role" {
718716
]
719717
}
720718
EOF
721-
719+
722720
}
723721
`, projectID, clusterName, policyName, roleName, awsAccessKey, awsSecretKey, region)
724722
}

0 commit comments

Comments
 (0)