@@ -18,14 +18,16 @@ import (
1818 "github.com/oracle/terraform-provider-oci/internal/acctest"
1919 tf_client "github.com/oracle/terraform-provider-oci/internal/client"
2020 "github.com/oracle/terraform-provider-oci/internal/resourcediscovery"
21+
2122 "github.com/oracle/terraform-provider-oci/internal/tfresource"
2223 "github.com/oracle/terraform-provider-oci/internal/utils"
2324)
2425
2526var (
26- CoreCoreVolumeBackupPolicyAssignmentRequiredOnlyResource = acctest .GenerateResourceFromRepresentationMap ("oci_core_volume_backup_policy_assignment" , "test_volume_backup_policy_assignment" , acctest .Required , acctest .Create , CoreVolumeBackupPolicyAssignmentRepresentation )
27+ CoreVolumeBackupPolicyAssignmentRequiredOnlyResource = acctest .GenerateResourceFromRepresentationMap ("oci_core_volume_backup_policy_assignment" , "test_volume_backup_policy_assignment" , acctest .Required , acctest .Create , CoreVolumeBackupPolicyAssignmentRepresentation )
2728
2829 CoreCoreVolumeBackupPolicyAssignmentDataSourceRepresentation = map [string ]interface {}{
30+
2931 "asset_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_volume.test_volume.id}` },
3032 "filter" : acctest.RepresentationGroup {RepType : acctest .Required , Group : CoreVolumeBackupPolicyAssignmentDataSourceFilterRepresentation }}
3133 CoreVolumeBackupPolicyAssignmentDataSourceFilterRepresentation = map [string ]interface {}{
@@ -34,13 +36,15 @@ var (
3436 }
3537
3638 CoreVolumeBackupPolicyAssignmentRepresentation = map [string ]interface {}{
37- "asset_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_volume.test_volume.id}` },
38- "policy_id" : acctest.Representation {RepType : acctest .Required , Create : `${data.oci_core_volume_backup_policies.test_volume_backup_policies.volume_backup_policies.0.id}` },
39+ "asset_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_volume.test_volume.id}` },
40+ "policy_id" : acctest.Representation {RepType : acctest .Required , Create : `${data.oci_core_volume_backup_policies.test_volume_backup_policies.volume_backup_policies.0.id}` },
41+ "xrc_kms_key_id" : acctest.Representation {RepType : acctest .Optional , Create : `${var.kms_key_ocid_cross_region}` },
3942 }
4043
4144 CoreVolumeBackupPolicyAssignmentResourceDependencies = utils .VolumeBackupPolicyDependency +
4245 acctest .GenerateResourceFromRepresentationMap ("oci_core_volume" , "test_volume" , acctest .Required , acctest .Create , CoreVolumeRepresentation ) +
43- AvailabilityDomainConfig
46+ AvailabilityDomainConfig +
47+ KeyResourceDependencyConfig
4448)
4549
4650// issue-routing-tag: core/blockStorage
@@ -59,13 +63,27 @@ func TestCoreVolumeBackupPolicyAssignmentResource_basic(t *testing.T) {
5963 var resId string
6064 // Save TF content to Create resource with only required properties. This has to be exactly the same as the config part in the Create step in the test.
6165 acctest .SaveConfigContent (config + compartmentIdVariableStr + CoreVolumeBackupPolicyAssignmentResourceDependencies +
62- acctest .GenerateResourceFromRepresentationMap ("oci_core_volume_backup_policy_assignment" , "test_volume_backup_policy_assignment" , acctest .Required , acctest .Create , CoreVolumeBackupPolicyAssignmentRepresentation ), "core" , "volumeBackupPolicyAssignment" , t )
66+ acctest .GenerateResourceFromRepresentationMap ("oci_core_volume_backup_policy_assignment" , "test_volume_backup_policy_assignment" , acctest .Optional , acctest .Create , CoreVolumeBackupPolicyAssignmentRepresentation ), "core" , "volumeBackupPolicyAssignment" , t )
6367
6468 acctest .ResourceTest (t , testAccCheckCoreVolumeBackupPolicyAssignmentDestroy , []resource.TestStep {
6569 // verify Create
6670 {
6771 Config : config + compartmentIdVariableStr + CoreVolumeBackupPolicyAssignmentResourceDependencies +
6872 acctest .GenerateResourceFromRepresentationMap ("oci_core_volume_backup_policy_assignment" , "test_volume_backup_policy_assignment" , acctest .Required , acctest .Create , CoreVolumeBackupPolicyAssignmentRepresentation ),
73+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
74+ resource .TestCheckResourceAttrSet (resourceName , "asset_id" ),
75+ resource .TestCheckResourceAttrSet (resourceName , "policy_id" ),
76+ ),
77+ },
78+
79+ // delete before next Create
80+ {
81+ Config : config + compartmentIdVariableStr + CoreVolumeBackupPolicyAssignmentResourceDependencies ,
82+ },
83+ // verify Create with optionals
84+ {
85+ Config : config + compartmentIdVariableStr + CoreVolumeBackupPolicyAssignmentResourceDependencies +
86+ acctest .GenerateResourceFromRepresentationMap ("oci_core_volume_backup_policy_assignment" , "test_volume_backup_policy_assignment" , acctest .Optional , acctest .Create , CoreVolumeBackupPolicyAssignmentRepresentation ),
6987 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
7088 resource .TestCheckResourceAttrSet (resourceName , "asset_id" ),
7189 resource .TestCheckResourceAttrSet (resourceName , "policy_id" ),
@@ -100,7 +118,7 @@ func TestCoreVolumeBackupPolicyAssignmentResource_basic(t *testing.T) {
100118 },
101119 // verify resource import
102120 {
103- Config : config + CoreCoreVolumeBackupPolicyAssignmentRequiredOnlyResource ,
121+ Config : config + CoreVolumeBackupPolicyAssignmentRequiredOnlyResource ,
104122 ImportState : true ,
105123 ImportStateVerify : true ,
106124 ImportStateVerifyIgnore : []string {},
0 commit comments