@@ -69,11 +69,13 @@ var (
6969 deletionTime = time .Now ().UTC ().AddDate (0 , 0 , 8 ).Truncate (time .Millisecond )
7070
7171 KmsKeyRepresentation = map [string ]interface {}{
72- "compartment_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.compartment_id}` },
73- "display_name" : acctest.Representation {RepType : acctest .Required , Create : `Key C` , Update : `displayName2` },
74- "key_shape" : acctest.RepresentationGroup {RepType : acctest .Required , Group : KmsKeyKeyShapeRepresentation },
75- "management_endpoint" : acctest.Representation {RepType : acctest .Required , Create : `${data.oci_kms_vault.test_vault.management_endpoint}` },
76- "desired_state" : acctest.Representation {RepType : acctest .Optional , Create : `ENABLED` , Update : `DISABLED` },
72+ "auto_key_rotation_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : KmsKeyAutoKeyRotationDetailsRepresentation },
73+ "is_auto_rotation_enabled" : acctest.Representation {RepType : acctest .Optional , Create : `false` , Update : `true` },
74+ "compartment_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.compartment_id}` },
75+ "display_name" : acctest.Representation {RepType : acctest .Required , Create : `Key C` , Update : `displayName2` },
76+ "key_shape" : acctest.RepresentationGroup {RepType : acctest .Required , Group : KmsKeyKeyShapeRepresentation },
77+ "management_endpoint" : acctest.Representation {RepType : acctest .Required , Create : `${data.oci_kms_vault.test_vault.management_endpoint}` },
78+ "desired_state" : acctest.Representation {RepType : acctest .Optional , Create : `ENABLED` , Update : `DISABLED` },
7779 //"external_key_reference": acctest.RepresentationGroup{RepType: acctest.Optional, Group: KmsKeyExternalKeyReferenceRepresentation},
7880 "freeform_tags" : acctest.Representation {RepType : acctest .Optional , Create : map [string ]string {"Department" : "Finance" }, Update : map [string ]string {"Department" : "Accounting" }},
7981 "protection_mode" : acctest.Representation {RepType : acctest .Optional , Create : `SOFTWARE` },
@@ -101,6 +103,15 @@ var (
101103 "algorithm" : acctest.Representation {RepType : acctest .Required , Create : `AES` },
102104 "length" : acctest.Representation {RepType : acctest .Required , Create : `16` },
103105 }
106+ scheduleStartTime = time .Now ().UTC ().AddDate (0 , 0 , 8 ).Truncate (time .Millisecond )
107+ KmsKeyAutoKeyRotationDetailsRepresentation = map [string ]interface {}{
108+ "last_rotation_message" : acctest.Representation {RepType : acctest .Optional , Create : `lastRotationMessage` , Update : `lastRotationMessage2` },
109+ "last_rotation_status" : acctest.Representation {RepType : acctest .Optional , Create : `SUCCESS` , Update : `FAILED` },
110+ "rotation_interval_in_days" : acctest.Representation {RepType : acctest .Optional , Create : `60` , Update : `120` },
111+ "time_of_last_rotation" : acctest.Representation {RepType : acctest .Optional , Create : `timeOfLastRotation` , Update : `timeOfLastRotation2` },
112+ "time_of_next_rotation" : acctest.Representation {RepType : acctest .Optional , Create : `timeOfNextRotation` , Update : `timeOfNextRotation2` },
113+ "time_of_schedule_start" : acctest.Representation {RepType : acctest .Optional , Create : scheduleStartTime .Format (time .RFC3339Nano ), Update : scheduleStartTime .Format (time .RFC3339Nano )},
114+ }
104115 KmsKeyExternalKeyReferenceRepresentation = map [string ]interface {}{
105116 "external_key_id" : acctest.Representation {RepType : acctest .Required , Create : `f3cf68ae-659c-4e9e-8be7-ee39fa9ffa3c` },
106117 }
@@ -383,11 +394,18 @@ func TestKmsKeyResource_basic(t *testing.T) {
383394 Config : config + compartmentIdVariableStr + KmsKeyResourceDependencies + DefinedTagsDependencies +
384395 acctest .GenerateResourceFromRepresentationMap ("oci_kms_key" , "test_key" , acctest .Optional , acctest .Create , KmsKeyRepresentation ),
385396 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
397+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.#" , "1" ),
398+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.last_rotation_message" , "lastRotationMessage" ),
399+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.last_rotation_status" , "SUCCESS" ),
400+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.time_of_last_rotation" , "timeOfLastRotation" ),
401+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.time_of_next_rotation" , "timeOfNextRotation" ),
402+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.time_of_schedule_start" , scheduleStartTime .Format (time .RFC3339Nano )),
386403 resource .TestCheckResourceAttr (resourceName , "compartment_id" , compartmentId ),
387404 resource .TestCheckResourceAttrSet (resourceName , "current_key_version" ),
388405 resource .TestCheckResourceAttr (resourceName , "display_name" , "Key C" ),
389406 resource .TestCheckResourceAttr (resourceName , "freeform_tags.%" , "1" ),
390407 resource .TestCheckResourceAttrSet (resourceName , "id" ),
408+ resource .TestCheckResourceAttr (resourceName , "is_auto_rotation_enabled" , "false" ),
391409 resource .TestCheckResourceAttr (resourceName , "key_shape.#" , "1" ),
392410 resource .TestCheckResourceAttr (resourceName , "key_shape.0.algorithm" , "AES" ),
393411 resource .TestCheckResourceAttr (resourceName , "key_shape.0.length" , "16" ),
@@ -412,11 +430,19 @@ func TestKmsKeyResource_basic(t *testing.T) {
412430 "compartment_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.compartment_id_for_update}` },
413431 })),
414432 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
433+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.#" , "1" ),
434+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.last_rotation_message" , "lastRotationMessage" ),
435+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.last_rotation_status" , "SUCCESS" ),
436+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.rotation_interval_in_days" , "60" ),
437+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.time_of_last_rotation" , "timeOfLastRotation" ),
438+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.time_of_next_rotation" , "timeOfNextRotation" ),
439+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.time_of_schedule_start" , scheduleStartTime .Format (time .RFC3339Nano )),
415440 resource .TestCheckResourceAttr (resourceName , "compartment_id" , compartmentIdU ),
416441 resource .TestCheckResourceAttrSet (resourceName , "current_key_version" ),
417442 resource .TestCheckResourceAttr (resourceName , "display_name" , "Key C" ),
418443 resource .TestCheckResourceAttr (resourceName , "freeform_tags.%" , "1" ),
419444 resource .TestCheckResourceAttrSet (resourceName , "id" ),
445+ resource .TestCheckResourceAttr (resourceName , "is_auto_rotation_enabled" , "false" ),
420446 resource .TestCheckResourceAttr (resourceName , "key_shape.#" , "1" ),
421447 resource .TestCheckResourceAttr (resourceName , "key_shape.0.algorithm" , "AES" ),
422448 resource .TestCheckResourceAttr (resourceName , "key_shape.0.length" , "16" ),
@@ -440,11 +466,19 @@ func TestKmsKeyResource_basic(t *testing.T) {
440466 Config : config + compartmentIdVariableStr + KmsKeyResourceDependencies + DefinedTagsDependencies +
441467 acctest .GenerateResourceFromRepresentationMap ("oci_kms_key" , "test_key" , acctest .Optional , acctest .Update , KmsKeyRepresentation ),
442468 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
469+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.#" , "1" ),
470+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.last_rotation_message" , "lastRotationMessage2" ),
471+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.last_rotation_status" , "FAILED" ),
472+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.rotation_interval_in_days" , "120" ),
473+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.time_of_last_rotation" , "timeOfLastRotation2" ),
474+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.time_of_next_rotation" , "timeOfNextRotation2" ),
475+ resource .TestCheckResourceAttr (resourceName , "auto_key_rotation_details.0.time_of_schedule_start" , scheduleStartTime .Format (time .RFC3339Nano )),
443476 resource .TestCheckResourceAttr (resourceName , "compartment_id" , compartmentId ),
444477 resource .TestCheckResourceAttrSet (resourceName , "current_key_version" ),
445478 resource .TestCheckResourceAttr (resourceName , "display_name" , "displayName2" ),
446479 resource .TestCheckResourceAttr (resourceName , "freeform_tags.%" , "1" ),
447480 resource .TestCheckResourceAttrSet (resourceName , "id" ),
481+ resource .TestCheckResourceAttr (resourceName , "is_auto_rotation_enabled" , "true" ),
448482 resource .TestCheckResourceAttr (resourceName , "key_shape.#" , "1" ),
449483 resource .TestCheckResourceAttr (resourceName , "key_shape.0.algorithm" , "AES" ),
450484 resource .TestCheckResourceAttr (resourceName , "key_shape.0.length" , "16" ),
@@ -481,6 +515,7 @@ func TestKmsKeyResource_basic(t *testing.T) {
481515 //resource.TestCheckResourceAttr(datasourceName, "keys.0.external_key_reference_details.#", "1"),
482516 resource .TestCheckResourceAttr (datasourceName , "keys.0.freeform_tags.%" , "1" ),
483517 resource .TestCheckResourceAttrSet (datasourceName , "keys.0.id" ),
518+ resource .TestCheckResourceAttr (datasourceName , "keys.0.is_auto_rotation_enabled" , "true" ),
484519 resource .TestCheckResourceAttr (datasourceName , "keys.0.protection_mode" , "SOFTWARE" ),
485520 resource .TestCheckResourceAttrSet (datasourceName , "keys.0.state" ),
486521 resource .TestCheckResourceAttrSet (datasourceName , "keys.0.time_created" ),
@@ -495,11 +530,16 @@ func TestKmsKeyResource_basic(t *testing.T) {
495530 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
496531 resource .TestCheckResourceAttrSet (singularDatasourceName , "key_id" ),
497532
533+ resource .TestCheckResourceAttr (singularDatasourceName , "auto_key_rotation_details.#" , "1" ),
534+ resource .TestCheckResourceAttr (singularDatasourceName , "auto_key_rotation_details.0.rotation_interval_in_days" , "120" ),
535+ resource .TestCheckResourceAttrSet (singularDatasourceName , "auto_key_rotation_details.0.time_of_next_rotation" ),
536+ resource .TestCheckResourceAttrSet (singularDatasourceName , "auto_key_rotation_details.0.time_of_schedule_start" ),
498537 resource .TestCheckResourceAttr (singularDatasourceName , "compartment_id" , compartmentId ),
499538 resource .TestCheckResourceAttrSet (singularDatasourceName , "current_key_version" ),
500539 resource .TestCheckResourceAttr (singularDatasourceName , "display_name" , "displayName2" ),
501540 resource .TestCheckResourceAttr (singularDatasourceName , "freeform_tags.%" , "1" ),
502541 resource .TestCheckResourceAttrSet (singularDatasourceName , "id" ),
542+ resource .TestCheckResourceAttr (singularDatasourceName , "is_auto_rotation_enabled" , "true" ),
503543 resource .TestCheckResourceAttrSet (singularDatasourceName , "is_primary" ),
504544 resource .TestCheckResourceAttr (singularDatasourceName , "key_shape.#" , "1" ),
505545 resource .TestCheckResourceAttr (singularDatasourceName , "key_shape.0.algorithm" , "AES" ),
@@ -537,6 +577,8 @@ func TestKmsKeyResource_basic(t *testing.T) {
537577 "desired_state" ,
538578 "time_of_deletion" ,
539579 "replica_details" ,
580+ "is_auto_rotation_enabled" ,
581+ "auto_key_rotation_details" ,
540582 },
541583 ResourceName : resourceName ,
542584 },
0 commit comments