@@ -59,6 +59,45 @@ func TestAccBackupPlan_basic(t *testing.T) {
5959 })
6060}
6161
62+ func TestAccBackupPlan_no_schedule (t * testing.T ) {
63+ ctx := acctest .Context (t )
64+ var plan backup.GetBackupPlanOutput
65+ resourceName := "aws_backup_plan.test"
66+ rName := fmt .Sprintf ("tf-testacc-backup-%s" , sdkacctest .RandString (14 ))
67+
68+ resource .ParallelTest (t , resource.TestCase {
69+ PreCheck : func () { acctest .PreCheck (ctx , t ); testAccPreCheck (ctx , t ) },
70+ ErrorCheck : acctest .ErrorCheck (t , names .BackupServiceID ),
71+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories ,
72+ CheckDestroy : testAccCheckPlanDestroy (ctx ),
73+ Steps : []resource.TestStep {
74+ {
75+ Config : testAccPlanConfig_no_schedule (rName ),
76+ Check : resource .ComposeTestCheckFunc (
77+ testAccCheckPlanExists (ctx , resourceName , & plan ),
78+ acctest .MatchResourceAttrRegionalARN (ctx , resourceName , names .AttrARN , "backup" , regexache .MustCompile (`backup-plan:.+` )),
79+ resource .TestCheckResourceAttr (resourceName , names .AttrName , rName ),
80+ resource .TestCheckResourceAttr (resourceName , acctest .CtRulePound , "1" ),
81+ resource .TestCheckTypeSetElemNestedAttrs (resourceName , "rule.*" , map [string ]string {
82+ "rule_name" : rName ,
83+ "target_vault_name" : rName ,
84+ names .AttrSchedule : "cron(0 5 ? * * *)" ,
85+ "schedule_expression_timezone" : "Etc/UTC" ,
86+ "lifecycle.#" : "0" ,
87+ }),
88+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsPercent , "0" ),
89+ resource .TestCheckResourceAttrSet (resourceName , names .AttrVersion ),
90+ ),
91+ },
92+ {
93+ ResourceName : resourceName ,
94+ ImportState : true ,
95+ ImportStateVerify : true ,
96+ },
97+ },
98+ })
99+ }
100+
62101func TestAccBackupPlan_disappears (t * testing.T ) {
63102 ctx := acctest .Context (t )
64103 var plan backup.GetBackupPlanOutput
@@ -798,6 +837,23 @@ resource "aws_backup_plan" "test" {
798837` , rName )
799838}
800839
840+ func testAccPlanConfig_no_schedule (rName string ) string {
841+ return fmt .Sprintf (`
842+ resource "aws_backup_vault" "test" {
843+ name = %[1]q
844+ }
845+
846+ resource "aws_backup_plan" "test" {
847+ name = %[1]q
848+
849+ rule {
850+ rule_name = %[1]q
851+ target_vault_name = aws_backup_vault.test.name
852+ }
853+ }
854+ ` , rName )
855+ }
856+
801857func testAccPlanConfig_optInToArchiveForSupportedResources (rName string ) string {
802858 return fmt .Sprintf (`
803859resource "aws_backup_vault" "test" {
0 commit comments