5555 "defined_tags" : acctest.Representation {RepType : acctest .Optional , Create : `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}` , Update : `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}` },
5656 "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `backend-servers-pool` , Update : `displayName2` },
5757 "freeform_tags" : acctest.Representation {RepType : acctest .Optional , Create : map [string ]string {"Department" : "Finance" }, Update : map [string ]string {"Department" : "Accounting" }},
58+ "lifecycle_management" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : CoreInstancePoolLifecycleManagementRepresentation },
5859 "load_balancers" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : CoreInstancePoolLoadBalancersRepresentation },
5960 "instance_display_name_formatter" : acctest.Representation {RepType : acctest .Optional , Create : `host-$${launchCount}` , Update : `host2-$${launchCount}` },
6061 "instance_hostname_formatter" : acctest.Representation {RepType : acctest .Optional , Create : `host-$${launchCount}` , Update : `host2-$${launchCount}` },
@@ -124,6 +125,11 @@ var (
124125 "primary_subnet_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_subnet.test_subnet.id}` },
125126 "secondary_vnic_subnets" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : CoreInstancePoolPlacementConfigurationsSecondaryVnicSubnetsRepresentation },
126127 }
128+
129+ CoreInstancePoolLifecycleManagementRepresentation = map [string ]interface {}{
130+ "lifecycle_actions" : acctest.RepresentationGroup {RepType : acctest .Required , Group : CoreInstancePoolLifecycleManagementLifecycleActionsRepresentation },
131+ }
132+
127133 CoreInstancePoolPlacementConfigurationsRepresentationIpv6 = map [string ]interface {}{
128134 "availability_domain" : acctest.Representation {RepType : acctest .Required , Create : `${data.oci_identity_availability_domains.test_availability_domains.availability_domains.0.name}` },
129135 "fault_domains" : acctest.Representation {RepType : acctest .Optional , Create : []string {`FAULT-DOMAIN-1` }, Update : []string {`FAULT-DOMAIN-2` }},
@@ -186,6 +192,11 @@ var (
186192 "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `backend-servers` , Update : `displayName2` },
187193 "freeform_tags" : acctest.Representation {RepType : acctest .Optional , Create : map [string ]string {"Department" : "Finance" }, Update : map [string ]string {"Department" : "Accounting" }},
188194 }
195+
196+ CoreInstancePoolLifecycleManagementLifecycleActionsRepresentation = map [string ]interface {}{
197+ "pre_termination" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : CoreInstancePoolLifecycleManagementLifecycleActionsPreTerminationRepresentation },
198+ }
199+
189200 CoreInstancePoolInstanceConfigurationInstanceDetailsPoolRepresentation = map [string ]interface {}{
190201 "instance_type" : acctest.Representation {RepType : acctest .Required , Create : `compute` },
191202 "secondary_vnics" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : CoreInstancePoolInstanceConfigurationInstanceDetailsSecondaryVnicsPoolRepresentation },
@@ -196,6 +207,17 @@ var (
196207 //the display_name should be the same as in the secondary_vnic_subnets
197208 "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `backend-servers-pool` },
198209 }
210+
211+ CoreInstancePoolLifecycleManagementLifecycleActionsPreTerminationRepresentation = map [string ]interface {}{
212+ "is_enabled" : acctest.Representation {RepType : acctest .Required , Create : `false` , Update : `true` },
213+ "on_timeout" : acctest.RepresentationGroup {RepType : acctest .Required , Group : CoreInstancePoolLifecycleManagementLifecycleActionsPreTerminationOnTimeoutRepresentation },
214+ "timeout" : acctest.Representation {RepType : acctest .Required , Create : `10` , Update : `11` },
215+ }
216+ CoreInstancePoolLifecycleManagementLifecycleActionsPreTerminationOnTimeoutRepresentation = map [string ]interface {}{
217+ "preserve_block_volume_mode" : acctest.Representation {RepType : acctest .Required , Create : `PRESERVE_ALWAYS` , Update : `PRESERVE_ON_TIMEOUT` },
218+ "preserve_boot_volume_mode" : acctest.Representation {RepType : acctest .Required , Create : `PRESERVE_ALWAYS` , Update : `PRESERVE_ON_TIMEOUT` },
219+ }
220+
199221 CoreInstancePoolInstanceConfigurationInstanceDetailsLaunchDetailsPoolRepresentation = map [string ]interface {}{
200222 "compartment_id" : acctest.Representation {RepType : acctest .Optional , Create : `${var.compartment_id}` },
201223 "create_vnic_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : CoreInstancePoolInstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsPoolRepresentation },
@@ -330,6 +352,14 @@ func TestCoreInstancePoolResource_basic(t *testing.T) {
330352 resource .TestCheckResourceAttr (resourceName , "freeform_tags.%" , "1" ),
331353 resource .TestCheckResourceAttrSet (resourceName , "id" ),
332354 resource .TestCheckResourceAttrSet (resourceName , "instance_configuration_id" ),
355+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.#" , "1" ),
356+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.#" , "1" ),
357+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.#" , "1" ),
358+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.is_enabled" , "false" ),
359+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.#" , "1" ),
360+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.0.preserve_block_volume_mode" , "PRESERVE_ALWAYS" ),
361+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.0.preserve_boot_volume_mode" , "PRESERVE_ALWAYS" ),
362+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.timeout" , "10" ),
333363 resource .TestCheckResourceAttr (resourceName , "instance_display_name_formatter" , "host-${launchCount}" ),
334364 resource .TestCheckResourceAttr (resourceName , "instance_hostname_formatter" , "host-${launchCount}" ),
335365 resource .TestCheckResourceAttr (resourceName , "load_balancers.#" , "1" ),
@@ -376,6 +406,14 @@ func TestCoreInstancePoolResource_basic(t *testing.T) {
376406 resource .TestCheckResourceAttr (resourceName , "freeform_tags.%" , "1" ),
377407 resource .TestCheckResourceAttrSet (resourceName , "id" ),
378408 resource .TestCheckResourceAttrSet (resourceName , "instance_configuration_id" ),
409+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.#" , "1" ),
410+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.#" , "1" ),
411+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.#" , "1" ),
412+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.is_enabled" , "false" ),
413+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.#" , "1" ),
414+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.0.preserve_block_volume_mode" , "PRESERVE_ALWAYS" ),
415+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.0.preserve_boot_volume_mode" , "PRESERVE_ALWAYS" ),
416+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.timeout" , "10" ),
379417 resource .TestCheckResourceAttr (resourceName , "instance_display_name_formatter" , "host-${launchCount}" ),
380418 resource .TestCheckResourceAttr (resourceName , "instance_hostname_formatter" , "host-${launchCount}" ),
381419 resource .TestCheckResourceAttr (resourceName , "load_balancers.#" , "1" ),
@@ -417,6 +455,14 @@ func TestCoreInstancePoolResource_basic(t *testing.T) {
417455 resource .TestCheckResourceAttr (resourceName , "freeform_tags.%" , "1" ),
418456 resource .TestCheckResourceAttrSet (resourceName , "id" ),
419457 resource .TestCheckResourceAttrSet (resourceName , "instance_configuration_id" ),
458+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.#" , "1" ),
459+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.#" , "1" ),
460+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.#" , "1" ),
461+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.is_enabled" , "true" ),
462+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.#" , "1" ),
463+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.0.preserve_block_volume_mode" , "PRESERVE_ON_TIMEOUT" ),
464+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.0.preserve_boot_volume_mode" , "PRESERVE_ON_TIMEOUT" ),
465+ resource .TestCheckResourceAttr (resourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.timeout" , "11" ),
420466 resource .TestCheckResourceAttr (resourceName , "instance_display_name_formatter" , "host2-${launchCount}" ),
421467 resource .TestCheckResourceAttr (resourceName , "instance_hostname_formatter" , "host2-${launchCount}" ),
422468 resource .TestCheckResourceAttr (resourceName , "load_balancers.#" , "1" ),
@@ -700,6 +746,14 @@ func TestCoreInstancePoolResource_basic(t *testing.T) {
700746 resource .TestCheckResourceAttr (singularDatasourceName , "display_name" , "displayName2" ),
701747 resource .TestCheckResourceAttr (singularDatasourceName , "freeform_tags.%" , "1" ),
702748 resource .TestCheckResourceAttrSet (singularDatasourceName , "id" ),
749+ resource .TestCheckResourceAttr (singularDatasourceName , "lifecycle_management.#" , "1" ),
750+ resource .TestCheckResourceAttr (singularDatasourceName , "lifecycle_management.0.lifecycle_actions.#" , "1" ),
751+ resource .TestCheckResourceAttr (singularDatasourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.#" , "1" ),
752+ resource .TestCheckResourceAttr (singularDatasourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.is_enabled" , "true" ),
753+ resource .TestCheckResourceAttr (singularDatasourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.#" , "1" ),
754+ resource .TestCheckResourceAttr (singularDatasourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.0.preserve_block_volume_mode" , "PRESERVE_ON_TIMEOUT" ),
755+ resource .TestCheckResourceAttr (singularDatasourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.on_timeout.0.preserve_boot_volume_mode" , "PRESERVE_ON_TIMEOUT" ),
756+ resource .TestCheckResourceAttr (singularDatasourceName , "lifecycle_management.0.lifecycle_actions.0.pre_termination.0.timeout" , "11" ),
703757 resource .TestCheckResourceAttr (singularDatasourceName , "instance_display_name_formatter" , "host2-${launchCount}" ),
704758 resource .TestCheckResourceAttr (singularDatasourceName , "instance_hostname_formatter" , "host2-${launchCount}" ),
705759 resource .TestCheckResourceAttr (singularDatasourceName , "load_balancers.#" , "1" ),
0 commit comments