@@ -10,6 +10,8 @@ import (
1010 "testing"
1111 "time"
1212
13+ "github.com/oracle/terraform-provider-oci/internal/resourcediscovery"
14+
1315 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1416 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1517 "github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
@@ -19,7 +21,6 @@ import (
1921 "github.com/oracle/terraform-provider-oci/httpreplay"
2022 "github.com/oracle/terraform-provider-oci/internal/acctest"
2123 tf_client "github.com/oracle/terraform-provider-oci/internal/client"
22- "github.com/oracle/terraform-provider-oci/internal/resourcediscovery"
2324 "github.com/oracle/terraform-provider-oci/internal/tfresource"
2425 "github.com/oracle/terraform-provider-oci/internal/utils"
2526)
3839 PsqlConfigurationDataSourceRepresentation = map [string ]interface {}{
3940 "compartment_id" : acctest.Representation {RepType : acctest .Optional , Create : `${var.compartment_id}` },
4041 "db_version" : acctest.Representation {RepType : acctest .Optional , Create : `14` },
41- "shape" : acctest.Representation {RepType : acctest .Optional , Create : `VM.Standard.E4.Flex.4.64GB ` },
42+ "shape" : acctest.Representation {RepType : acctest .Optional , Create : `VM.Standard.E4.Flex` },
4243 "state" : acctest.Representation {RepType : acctest .Optional , Create : `ACTIVE` },
4344 "filter" : acctest.RepresentationGroup {RepType : acctest .Required , Group : PsqlConfigurationDataSourceFilterRepresentation },
4445 }
@@ -58,15 +59,34 @@ var (
5859 }
5960
6061 PsqlConfigurationRepresentation = map [string ]interface {}{
61- "compartment_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.compartment_id}` },
62- "db_configuration_overrides" : acctest.RepresentationGroup {RepType : acctest .Required , Group : PsqlConfigurationDbConfigurationOverridesRepresentation },
62+ "compartment_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.compartment_id}` },
63+ "db_configuration_overrides" : acctest.RepresentationGroup {RepType : acctest .Required , Group : PsqlConfigurationDbConfigurationOverridesRepresentation },
64+
6365 "db_version" : acctest.Representation {RepType : acctest .Required , Create : `14` },
6466 "display_name" : acctest.Representation {RepType : acctest .Required , Create : `terraform-test-config` , Update : `terraform-test-config-2` },
6567 "instance_memory_size_in_gbs" : acctest.Representation {RepType : acctest .Required , Create : `64` },
6668 "instance_ocpu_count" : acctest.Representation {RepType : acctest .Required , Create : `4` },
6769 "shape" : acctest.Representation {RepType : acctest .Required , Create : `VM.Standard.E4.Flex` },
6870 "defined_tags" : acctest.Representation {RepType : acctest .Optional , Create : `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}` },
6971 "description" : acctest.Representation {RepType : acctest .Optional , Create : `description1` , Update : `description2` },
72+ "is_flexible" : acctest.Representation {RepType : acctest .Optional , Create : `false` },
73+ "freeform_tags" : acctest.Representation {RepType : acctest .Optional , Create : map [string ]string {"bar-key" : "value" }, Update : map [string ]string {"Department" : "Accounting" }},
74+ "system_tags" : acctest.Representation {RepType : acctest .Optional , Create : map [string ]string {"sys-namespace.tag-key" : "value" }},
75+ "lifecycle" : acctest.RepresentationGroup {RepType : acctest .Required , Group : ignoreChangesRep },
76+ }
77+
78+ PsqlFlexConfigurationRepresentation = map [string ]interface {}{
79+ "compartment_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.compartment_id}` },
80+ "db_configuration_overrides" : acctest.RepresentationGroup {RepType : acctest .Required , Group : PsqlConfigurationDbConfigurationOverridesRepresentation },
81+
82+ "db_version" : acctest.Representation {RepType : acctest .Required , Create : `14` },
83+ "display_name" : acctest.Representation {RepType : acctest .Required , Create : `terraform-test-config-flex` , Update : `terraform-test-config-flex-2` },
84+ "instance_memory_size_in_gbs" : acctest.Representation {RepType : acctest .Optional , Create : `0` },
85+ "instance_ocpu_count" : acctest.Representation {RepType : acctest .Optional , Create : `0` },
86+ "shape" : acctest.Representation {RepType : acctest .Required , Create : `VM.Standard.E4.Flex` },
87+ "defined_tags" : acctest.Representation {RepType : acctest .Optional , Create : `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}` },
88+ "description" : acctest.Representation {RepType : acctest .Optional , Create : `description1` , Update : `description2` },
89+ "is_flexible" : acctest.Representation {RepType : acctest .Optional , Create : `true` },
7090 "freeform_tags" : acctest.Representation {RepType : acctest .Optional , Create : map [string ]string {"bar-key" : "value" }, Update : map [string ]string {"Department" : "Accounting" }},
7191 "system_tags" : acctest.Representation {RepType : acctest .Optional , Create : map [string ]string {"sys-namespace.tag-key" : "value" }},
7292 "lifecycle" : acctest.RepresentationGroup {RepType : acctest .Required , Group : ignoreChangesRep },
@@ -107,9 +127,37 @@ func TestPsqlConfigurationResource_basic(t *testing.T) {
107127 var resId , resId2 string
108128 // Save TF content to Create resource with optional properties. This has to be exactly the same as the config part in the "create with optionals" step in the test.
109129 acctest .SaveConfigContent (config + compartmentIdVariableStr + PsqlConfigurationResourceDependencies +
110- acctest .GenerateResourceFromRepresentationMap ("oci_psql_configuration" , "test_configuration" , acctest .Optional , acctest .Create , PsqlConfigurationRepresentation ), "psql" , "configuration" , t )
130+ acctest .GenerateResourceFromRepresentationMap ("oci_psql_configuration" , "test_configuration" , acctest .Required , acctest .Create , PsqlConfigurationRepresentation ), "psql" , "configuration" , t )
111131
112132 acctest .ResourceTest (t , testAccCheckPsqlConfigurationDestroy , []resource.TestStep {
133+ // verify flex create
134+ {
135+ Config : config + compartmentIdVariableStr + PsqlConfigurationResourceDependencies +
136+ acctest .GenerateResourceFromRepresentationMap ("oci_psql_configuration" , "test_configuration" , acctest .Optional , acctest .Create , PsqlFlexConfigurationRepresentation ),
137+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
138+ resource .TestCheckResourceAttr (resourceName , "compartment_id" , compartmentId ),
139+ resource .TestCheckResourceAttr (resourceName , "db_configuration_overrides.#" , "1" ),
140+ resource .TestCheckResourceAttr (resourceName , "db_configuration_overrides.0.items.#" , "1" ),
141+ resource .TestCheckResourceAttr (resourceName , "db_configuration_overrides.0.items.0.config_key" , "effective_io_concurrency" ),
142+ resource .TestCheckResourceAttr (resourceName , "db_configuration_overrides.0.items.0.overriden_config_value" , "1" ),
143+ resource .TestCheckResourceAttr (resourceName , "db_version" , "14" ),
144+ resource .TestCheckResourceAttr (resourceName , "display_name" , "terraform-test-config-flex" ),
145+ resource .TestCheckResourceAttr (resourceName , "instance_memory_size_in_gbs" , "0" ),
146+ resource .TestCheckResourceAttr (resourceName , "instance_ocpu_count" , "0" ),
147+ resource .TestCheckResourceAttr (resourceName , "shape" , "VM.Standard.E4.Flex" ),
148+
149+ func (s * terraform.State ) (err error ) {
150+ fmt .Println ("Testcase for flex shape" )
151+ resId , err = acctest .FromInstanceState (s , resourceName , "id" )
152+ return err
153+ },
154+ ),
155+ },
156+
157+ {
158+ Config : config + compartmentIdVariableStr + PsqlConfigurationResourceDependencies ,
159+ },
160+
113161 // verify Create
114162 {
115163 Config : config + compartmentIdVariableStr + PsqlConfigurationResourceDependencies +
@@ -155,6 +203,7 @@ func TestPsqlConfigurationResource_basic(t *testing.T) {
155203 resource .TestCheckResourceAttrSet (resourceName , "id" ),
156204 resource .TestCheckResourceAttr (resourceName , "instance_memory_size_in_gbs" , "64" ),
157205 resource .TestCheckResourceAttr (resourceName , "instance_ocpu_count" , "4" ),
206+ resource .TestCheckResourceAttr (resourceName , "is_flexible" , "false" ),
158207 resource .TestCheckResourceAttr (resourceName , "shape" , "VM.Standard.E4.Flex" ),
159208 resource .TestCheckResourceAttrSet (resourceName , "state" ),
160209 resource .TestCheckResourceAttr (resourceName , "system_tags.%" , "0" ),
@@ -171,6 +220,7 @@ func TestPsqlConfigurationResource_basic(t *testing.T) {
171220 },
172221 ),
173222 },
223+
174224 // verify Update to the compartment (the compartment will be switched back in the next step)
175225 {
176226 Config : config + compartmentIdVariableStr + compartmentIdUVariableStr + PsqlConfigurationResourceDependencies +
@@ -192,6 +242,7 @@ func TestPsqlConfigurationResource_basic(t *testing.T) {
192242 resource .TestCheckResourceAttrSet (resourceName , "id" ),
193243 resource .TestCheckResourceAttr (resourceName , "instance_memory_size_in_gbs" , "64" ),
194244 resource .TestCheckResourceAttr (resourceName , "instance_ocpu_count" , "4" ),
245+ resource .TestCheckResourceAttr (resourceName , "is_flexible" , "false" ),
195246 resource .TestCheckResourceAttr (resourceName , "shape" , "VM.Standard.E4.Flex" ),
196247 resource .TestCheckResourceAttrSet (resourceName , "state" ),
197248 resource .TestCheckResourceAttr (resourceName , "system_tags.%" , "0" ),
@@ -225,6 +276,7 @@ func TestPsqlConfigurationResource_basic(t *testing.T) {
225276 resource .TestCheckResourceAttrSet (resourceName , "id" ),
226277 resource .TestCheckResourceAttr (resourceName , "instance_memory_size_in_gbs" , "64" ),
227278 resource .TestCheckResourceAttr (resourceName , "instance_ocpu_count" , "4" ),
279+ resource .TestCheckResourceAttr (resourceName , "is_flexible" , "false" ),
228280 resource .TestCheckResourceAttr (resourceName , "shape" , "VM.Standard.E4.Flex" ),
229281 resource .TestCheckResourceAttrSet (resourceName , "state" ),
230282 resource .TestCheckResourceAttr (resourceName , "system_tags.%" , "0" ),
@@ -248,7 +300,7 @@ func TestPsqlConfigurationResource_basic(t *testing.T) {
248300 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
249301 resource .TestCheckResourceAttr (datasourceName , "compartment_id" , compartmentId ),
250302 resource .TestCheckResourceAttr (datasourceName , "db_version" , "14" ),
251- resource .TestCheckResourceAttr (datasourceName , "shape" , "VM.Standard.E4.Flex.4.64GB " ),
303+ resource .TestCheckResourceAttr (datasourceName , "shape" , "VM.Standard.E4.Flex" ),
252304 resource .TestCheckResourceAttr (datasourceName , "state" , "ACTIVE" ),
253305
254306 resource .TestCheckResourceAttrSet (datasourceName , "configuration_collection.0.items.0.id" ),
@@ -304,6 +356,7 @@ func TestPsqlConfigurationResource_basic(t *testing.T) {
304356 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
305357 resource .TestCheckResourceAttrSet (singularDatasourceName , "configuration_id" ),
306358 resource .TestCheckResourceAttr (singularDatasourceName , "compartment_id" , compartmentId ),
359+ resource .TestCheckResourceAttrSet (singularDatasourceName , "config_type" ),
307360 resource .TestCheckResourceAttr (singularDatasourceName , "configuration_details.#" , "1" ),
308361 resource .TestCheckResourceAttr (singularDatasourceName , "db_version" , "14" ),
309362 resource .TestCheckResourceAttr (singularDatasourceName , "description" , "description2" ),
@@ -312,6 +365,8 @@ func TestPsqlConfigurationResource_basic(t *testing.T) {
312365 resource .TestCheckResourceAttrSet (singularDatasourceName , "id" ),
313366 resource .TestCheckResourceAttr (singularDatasourceName , "instance_memory_size_in_gbs" , "64" ),
314367 resource .TestCheckResourceAttr (singularDatasourceName , "instance_ocpu_count" , "4" ),
368+ resource .TestCheckResourceAttr (singularDatasourceName , "instance_ocpu_count" , "4" ),
369+ resource .TestCheckResourceAttr (singularDatasourceName , "is_flexible" , "false" ),
315370 resource .TestCheckResourceAttr (singularDatasourceName , "shape" , "VM.Standard.E4.Flex.4.64GB" ),
316371 resource .TestCheckResourceAttrSet (singularDatasourceName , "state" ),
317372 resource .TestCheckResourceAttr (singularDatasourceName , "system_tags.%" , "0" ),
0 commit comments