@@ -137,9 +137,14 @@ var (
137137 "secondary_vnic_subnets" : acctest.RepresentationGroup {RepType : acctest .Required , Group : CoreInstancePoolPlacementConfigurationsSecondaryVnicSubnetsRepresentationIpv6 },
138138 }
139139
140+ CoreIpv6SubnetCidrPairRepresentation = map [string ]interface {}{
141+ "ipv6subnet_cidr" : acctest.Representation {RepType : acctest .Required , Create : `${substr(oci_core_vcn.test_vcn.ipv6cidr_blocks[0], 0, length(oci_core_vcn.test_vcn.ipv6cidr_blocks[0]) - 2)}${64}` ,
142+ Update : `${substr(oci_core_vcn.test_vcn.ipv6cidr_blocks[0], 0, length(oci_core_vcn.test_vcn.ipv6cidr_blocks[0]) - 7)}a4::/${64}` },
143+ }
144+
140145 CoreInstancePoolPlacementConfigurationsPrimaryVnicSubnetsRepresentation = map [string ]interface {}{
141- "subnet_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_subnet.test_subnet.id}` },
142- "ipv6address_ipv6subnet_cidr_pair_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : CoreIpv6AddressIpv6SubnetCidrPairRepresentation },
146+ "subnet_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_subnet.test_subnet.id}` , Update : `${oci_core_subnet.test_subnet2.id}` },
147+ "ipv6address_ipv6subnet_cidr_pair_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : CoreIpv6SubnetCidrPairRepresentation },
143148 "is_assign_ipv6ip" : acctest.Representation {RepType : acctest .Optional , Create : `true` },
144149 }
145150
@@ -155,7 +160,7 @@ var (
155160 }
156161 CoreInstancePoolPlacementConfigurationsSecondaryVnicSubnetsRepresentationIpv6 = map [string ]interface {}{
157162 "subnet_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_subnet.test_subnet.id}` },
158- "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `backend-servers-pool` , Update : `displayName2` },
163+ "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `backend-servers-pool` },
159164 "ipv6address_ipv6subnet_cidr_pair_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : CoreIpv6AddressIpv6SubnetCidrPairRepresentation },
160165 "is_assign_ipv6ip" : acctest.Representation {RepType : acctest .Optional , Create : `true` },
161166 }
@@ -244,6 +249,10 @@ var (
244249 acctest .GenerateResourceFromRepresentationMap ("oci_core_instance_configuration" , "test_instance_configuration" , acctest .Optional , acctest .Create , acctest .GetUpdatedRepresentationCopy ("instance_details.launch_details.launch_options" , instanceLaunchOptionsRepresentationForInstanceConfiguration , CoreInstancePoolConfigurationPoolRepresentation )) +
245250 acctest .GenerateResourceFromRepresentationMap ("oci_core_instance" , "test_instance" , acctest .Required , acctest .Create , CoreInstanceRepresentation ) +
246251 acctest .GenerateResourceFromRepresentationMap ("oci_core_subnet" , "test_subnet" , acctest .Optional , acctest .Create , CoreSubnetRepresentationIpv6 ) +
252+ acctest .GenerateResourceFromRepresentationMap ("oci_core_subnet" , "test_subnet2" , acctest .Optional , acctest .Create , acctest .RepresentationCopyWithNewProperties (CoreSubnetRepresentationIpv6 , map [string ]interface {}{
253+ "cidr_block" : acctest.Representation {RepType : acctest .Required , Create : `10.0.10.0/24` , Update : "10.0.10.0/16" },
254+ "dns_label" : acctest.Representation {RepType : acctest .Optional , Create : `dnslabel2` },
255+ "ipv6cidr_blocks" : acctest.Representation {RepType : acctest .Required , Create : []string {`${substr(oci_core_vcn.test_vcn.ipv6cidr_blocks[0], 0, length(oci_core_vcn.test_vcn.ipv6cidr_blocks[0]) - 7)}a4::/${64}` }}})) +
247256 acctest .GenerateResourceFromRepresentationMap ("oci_core_vcn" , "test_vcn" , acctest .Optional , acctest .Create , CoreVcnRepresentationIpv6 ) +
248257 AvailabilityDomainConfig +
249258 DefinedTagsDependencies +
@@ -793,6 +802,56 @@ func TestCoreInstancePoolResourceIpv6_basic(t *testing.T) {
793802 },
794803 ),
795804 },
805+ // verify Update is supported with ipv6 supported primarySubnets and secondarySubnets
806+ {
807+ Config : config + compartmentIdVariableStr + CoreInstancePoolResourceDependenciesIpv6 +
808+ acctest .GenerateResourceFromRepresentationMap ("oci_core_instance_pool" , "test_instance_pool" , acctest .Optional , acctest .Update , CoreInstancePoolRepresentationIPv6WithPrimaryVnicSubnets ),
809+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
810+ resource .TestCheckResourceAttr (resourceName , "compartment_id" , compartmentId ),
811+ //resource.TestCheckResourceAttr(resourceName, "display_name", "backend-servers-pool"),
812+ resource .TestCheckResourceAttr (resourceName , "freeform_tags.%" , "1" ),
813+ resource .TestCheckResourceAttrSet (resourceName , "id" ),
814+ resource .TestCheckResourceAttrSet (resourceName , "instance_configuration_id" ),
815+ resource .TestCheckResourceAttr (resourceName , "load_balancers.#" , "1" ),
816+ resource .TestCheckResourceAttrSet (resourceName , "load_balancers.0.backend_set_name" ),
817+ resource .TestCheckResourceAttrSet (resourceName , "load_balancers.0.id" ),
818+ resource .TestCheckResourceAttrSet (resourceName , "load_balancers.0.instance_pool_id" ),
819+ resource .TestCheckResourceAttrSet (resourceName , "load_balancers.0.load_balancer_id" ),
820+ resource .TestCheckResourceAttr (resourceName , "load_balancers.0.port" , "10" ),
821+ resource .TestCheckResourceAttrSet (resourceName , "load_balancers.0.state" ),
822+ resource .TestCheckResourceAttr (resourceName , "load_balancers.0.vnic_selection" , "PrimaryVnic" ),
823+ resource .TestCheckResourceAttr (resourceName , "placement_configurations.#" , "1" ),
824+ resource .TestCheckResourceAttrSet (resourceName , "placement_configurations.0.availability_domain" ),
825+ resource .TestCheckResourceAttr (resourceName , "placement_configurations.0.fault_domains.#" , "1" ),
826+ resource .TestCheckResourceAttr (resourceName , "placement_configurations.0.primary_vnic_subnets.#" , "1" ),
827+ resource .TestCheckResourceAttrSet (resourceName , "placement_configurations.0.primary_vnic_subnets.0.subnet_id" ),
828+ resource .TestCheckResourceAttr (resourceName , "placement_configurations.0.primary_vnic_subnets.0.ipv6address_ipv6subnet_cidr_pair_details.#" , "1" ),
829+ resource .TestCheckResourceAttrSet (resourceName , "placement_configurations.0.primary_vnic_subnets.0.ipv6address_ipv6subnet_cidr_pair_details.0.ipv6subnet_cidr" ),
830+ resource .TestCheckResourceAttr (resourceName , "placement_configurations.0.primary_vnic_subnets.0.is_assign_ipv6ip" , "true" ),
831+ resource .TestCheckResourceAttr (resourceName , "placement_configurations.0.primary_vnic_subnets.0.ipv6address_ipv6subnet_cidr_pair_details.#" , "1" ),
832+ resource .TestCheckResourceAttrSet (resourceName , "placement_configurations.0.primary_vnic_subnets.0.ipv6address_ipv6subnet_cidr_pair_details.0.ipv6subnet_cidr" ),
833+ resource .TestCheckResourceAttr (resourceName , "placement_configurations.0.secondary_vnic_subnets.#" , "1" ),
834+ resource .TestCheckResourceAttr (resourceName , "placement_configurations.0.secondary_vnic_subnets.0.display_name" , "backend-servers-pool" ),
835+ resource .TestCheckResourceAttrSet (resourceName , "placement_configurations.0.secondary_vnic_subnets.0.subnet_id" ),
836+ resource .TestCheckResourceAttr (resourceName , "placement_configurations.0.secondary_vnic_subnets.0.ipv6address_ipv6subnet_cidr_pair_details.#" , "1" ),
837+ resource .TestCheckResourceAttrSet (resourceName , "placement_configurations.0.secondary_vnic_subnets.0.ipv6address_ipv6subnet_cidr_pair_details.0.ipv6subnet_cidr" ),
838+ resource .TestCheckResourceAttr (resourceName , "placement_configurations.0.secondary_vnic_subnets.0.is_assign_ipv6ip" , "true" ),
839+ resource .TestCheckResourceAttr (resourceName , "size" , "3" ),
840+ resource .TestCheckResourceAttrSet (resourceName , "state" ),
841+ resource .TestCheckResourceAttrSet (resourceName , "time_created" ),
842+
843+ func (s * terraform.State ) (err error ) {
844+ resId , err = acctest .FromInstanceState (s , resourceName , "id" )
845+ if isEnableExportCompartment , _ := strconv .ParseBool (utils .GetEnvSettingWithDefault ("enable_export_compartment" , "true" )); isEnableExportCompartment {
846+ if errExport := resourcediscovery .TestExportCompartmentWithResourceName (& resId , & compartmentId , resourceName ); errExport != nil {
847+ return errExport
848+ }
849+ }
850+ return err
851+ },
852+ ),
853+ },
854+
796855 // verify singular datasource
797856 {
798857 Config : config +
@@ -804,7 +863,7 @@ func TestCoreInstancePoolResourceIpv6_basic(t *testing.T) {
804863 resource .TestCheckResourceAttrSet (singularDatasourceName , "instance_pool_id" ),
805864
806865 resource .TestCheckResourceAttr (singularDatasourceName , "compartment_id" , compartmentId ),
807- resource .TestCheckResourceAttr (singularDatasourceName , "display_name" , "backend-servers-pool " ),
866+ resource .TestCheckResourceAttr (singularDatasourceName , "display_name" , "displayName2 " ),
808867 resource .TestCheckResourceAttr (singularDatasourceName , "freeform_tags.%" , "1" ),
809868 resource .TestCheckResourceAttrSet (singularDatasourceName , "id" ),
810869 resource .TestCheckResourceAttr (singularDatasourceName , "load_balancers.#" , "1" ),
0 commit comments