@@ -24,24 +24,35 @@ import (
2424)
2525
2626var (
27+ AnalyticsAnalyticsInstancePrivateAccessChannelRequiredOnlyResource = AnalyticsAnalyticsInstancePrivateAccessChannelResourceDependencies + acctest .GenerateResourceFromRepresentationMap ("oci_analytics_analytics_instance_private_access_channel" , "test_analytics_instance_private_access_channel" , acctest .Required , acctest .Create , analyticsInstancePrivateAccessChannelRepresentation )
28+
2729 AnalyticsAnalyticsInstancePrivateAccessChannelResourceConfig = AnalyticsAnalyticsInstancePrivateAccessChannelResourceDependencies +
2830 acctest .GenerateResourceFromRepresentationMap ("oci_analytics_analytics_instance_private_access_channel" , "test_analytics_instance_private_access_channel" , acctest .Optional , acctest .Update , analyticsInstancePrivateAccessChannelRepresentation )
2931
30- AnalyticsAnalyticsInstancePrivateAccessChannelRequiredOnlyResource = acctest .GenerateResourceFromRepresentationMap ("oci_analytics_analytics_instance_private_access_channel" , "test_analytics_instance_private_access_channel" , acctest .Required , acctest .Create , analyticsInstancePrivateAccessChannelRepresentation )
31-
3232 analyticsInstancePrivateAccessChannelRepresentation = map [string ]interface {}{
33- "analytics_instance_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_analytics_analytics_instance.test_analytics_instance.id}` },
34- "display_name" : acctest.Representation {RepType : acctest .Required , Create : `example_private_access_channel` , Update : `example_private_access_channel2` },
35- "private_source_dns_zones" : acctest.RepresentationGroup {RepType : acctest .Required , Group : analyticsInstancePrivateAccessChannelPrivateSourceDnsZonesRepresentation },
36- "subnet_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_subnet.test_subnet.id}` },
37- "vcn_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_vcn.test_vcn.id}` },
33+ "analytics_instance_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_analytics_analytics_instance.test_analytics_instance.id}` },
34+ "display_name" : acctest.Representation {RepType : acctest .Required , Create : `example_private_access_channel` , Update : `example_private_access_channel2` },
35+ "private_source_dns_zones" : acctest.RepresentationGroup {RepType : acctest .Required , Group : analyticsInstancePrivateAccessChannelPrivateSourceDnsZonesRepresentation },
36+ "subnet_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_subnet.test_subnet.id}` },
37+ "vcn_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_core_vcn.test_vcn.id}` , Update : `${oci_core_vcn.test_vcn.id}` },
38+ "network_security_group_ids" : acctest.Representation {RepType : acctest .Optional , Create : []string {`${oci_core_network_security_group.test_network_security_group.id}` }, Update : []string {}},
39+ "private_source_scan_hosts" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : analyticsInstancePrivateAccessChannelPrivateSourceScanHostsRepresentation },
3840 }
3941 analyticsInstancePrivateAccessChannelPrivateSourceDnsZonesRepresentation = map [string ]interface {}{
4042 "dns_zone" : acctest.Representation {RepType : acctest .Required , Create : `terraformtest.oraclevcn.com` , Update : `terraformtest2.oraclevcn.com` },
4143 "description" : acctest.Representation {RepType : acctest .Optional , Create : `Tenant VCN DNS Zone` , Update : `Tenant VCN DNS Zone 2` },
4244 }
45+ analyticsInstancePrivateAccessChannelPrivateSourceScanHostsRepresentation = map [string ]interface {}{
46+ "scan_hostname" : acctest.Representation {RepType : acctest .Required , Create : `scanHostname` , Update : `scanHostname2` },
47+ "scan_port" : acctest.Representation {RepType : acctest .Required , Create : `10` , Update : `11` },
48+ "description" : acctest.Representation {RepType : acctest .Optional , Create : `Example OCI SCAN label` , Update : `Example OCI SCAN label 2` },
49+ }
50+
51+ analyticsinstanceNameForPac = utils .RandomString (15 , utils .CharsetWithoutDigits )
4352
44- AnalyticsAnalyticsInstancePrivateAccessChannelResourceDependencies = acctest .GenerateResourceFromRepresentationMap ("oci_analytics_analytics_instance" , "test_analytics_instance" , acctest .Required , acctest .Create , analyticsInstanceRepresentation ) +
53+ //Please note that for create oci_analytics_analytics_instance we have to change the instance name otherwise tests for analytics will fail with error: Instance name it is still in use even if instance got deleted successful
54+ AnalyticsAnalyticsInstancePrivateAccessChannelResourceDependencies = acctest .GenerateResourceFromRepresentationMap ("oci_analytics_analytics_instance" , "test_analytics_instance" , acctest .Required , acctest .Create , acctest .GetUpdatedRepresentationCopy ("name" , acctest.Representation {RepType : acctest .Required , Create : analyticsinstanceNameForPac }, analyticsInstanceRepresentation )) +
55+ acctest .GenerateResourceFromRepresentationMap ("oci_core_network_security_group" , "test_network_security_group" , acctest .Required , acctest .Create , CoreNetworkSecurityGroupRepresentation ) +
4556 acctest .GenerateResourceFromRepresentationMap ("oci_core_subnet" , "test_subnet" , acctest .Required , acctest .Create , CoreSubnetRepresentation ) +
4657 acctest .GenerateResourceFromRepresentationMap ("oci_core_vcn" , "test_vcn" , acctest .Required , acctest .Create , CoreVcnRepresentation )
4758)
@@ -62,9 +73,8 @@ func TestAnalyticsAnalyticsInstancePrivateAccessChannelResource_basic(t *testing
6273 resourceName := "oci_analytics_analytics_instance_private_access_channel.test_analytics_instance_private_access_channel"
6374
6475 var resId , resId2 string
65- // 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.
76+ // 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.
6677 acctest .SaveConfigContent (config + compartmentIdVariableStr + AnalyticsAnalyticsInstancePrivateAccessChannelResourceDependencies +
67-
6878 acctest .GenerateResourceFromRepresentationMap ("oci_analytics_analytics_instance_private_access_channel" , "test_analytics_instance_private_access_channel" , acctest .Required , acctest .Create , analyticsInstancePrivateAccessChannelRepresentation ), "analytics" , "analyticsInstancePrivateAccessChannel" , t )
6979
7080 acctest .ResourceTest (t , testAccCheckAnalyticsAnalyticsInstancePrivateAccessChannelDestroy , []resource.TestStep {
@@ -82,7 +92,38 @@ func TestAnalyticsAnalyticsInstancePrivateAccessChannelResource_basic(t *testing
8292
8393 func (s * terraform.State ) (err error ) {
8494 resId , err = acctest .FromInstanceState (s , resourceName , "id" )
85- if isEnableExportCompartment , _ := strconv .ParseBool (utils .GetEnvSettingWithDefault ("enable_export_compartment" , "false" )); isEnableExportCompartment {
95+ return err
96+ },
97+ ),
98+ },
99+
100+ // delete before next Create
101+ {
102+ Config : config + compartmentIdVariableStr + idcsAccessTokenVariableStr + AnalyticsAnalyticsInstancePrivateAccessChannelResourceDependencies ,
103+ },
104+ // verify Create with optionals
105+ {
106+ Config : config + compartmentIdVariableStr + idcsAccessTokenVariableStr + AnalyticsAnalyticsInstancePrivateAccessChannelResourceDependencies +
107+ acctest .GenerateResourceFromRepresentationMap ("oci_analytics_analytics_instance_private_access_channel" , "test_analytics_instance_private_access_channel" , acctest .Optional , acctest .Create , analyticsInstancePrivateAccessChannelRepresentation ),
108+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
109+ resource .TestCheckResourceAttrSet (resourceName , "analytics_instance_id" ),
110+ resource .TestCheckResourceAttr (resourceName , "display_name" , "example_private_access_channel" ),
111+ resource .TestCheckResourceAttrSet (resourceName , "ip_address" ),
112+ resource .TestCheckResourceAttrSet (resourceName , "key" ),
113+ resource .TestCheckResourceAttr (resourceName , "network_security_group_ids.#" , "1" ),
114+ resource .TestCheckResourceAttr (resourceName , "private_source_dns_zones.#" , "1" ),
115+ resource .TestCheckResourceAttr (resourceName , "private_source_dns_zones.0.description" , "Tenant VCN DNS Zone" ),
116+ resource .TestCheckResourceAttr (resourceName , "private_source_dns_zones.0.dns_zone" , "terraformtest.oraclevcn.com" ),
117+ resource .TestCheckResourceAttr (resourceName , "private_source_scan_hosts.#" , "1" ),
118+ resource .TestCheckResourceAttr (resourceName , "private_source_scan_hosts.0.description" , "Example OCI SCAN label" ),
119+ resource .TestCheckResourceAttr (resourceName , "private_source_scan_hosts.0.scan_hostname" , "scanHostname" ),
120+ resource .TestCheckResourceAttr (resourceName , "private_source_scan_hosts.0.scan_port" , "10" ),
121+ resource .TestCheckResourceAttrSet (resourceName , "subnet_id" ),
122+ resource .TestCheckResourceAttrSet (resourceName , "vcn_id" ),
123+
124+ func (s * terraform.State ) (err error ) {
125+ resId , err = acctest .FromInstanceState (s , resourceName , "id" )
126+ if isEnableExportCompartment , _ := strconv .ParseBool (utils .GetEnvSettingWithDefault ("enable_export_compartment" , "true" )); isEnableExportCompartment {
86127 if errExport := resourcediscovery .TestExportCompartmentWithResourceName (& resId , & compartmentId , resourceName ); errExport != nil {
87128 return errExport
88129 }
@@ -102,9 +143,14 @@ func TestAnalyticsAnalyticsInstancePrivateAccessChannelResource_basic(t *testing
102143 resource .TestCheckResourceAttr (resourceName , "egress_source_ip_addresses.#" , "2" ),
103144 resource .TestCheckResourceAttrSet (resourceName , "ip_address" ),
104145 resource .TestCheckResourceAttrSet (resourceName , "key" ),
146+ resource .TestCheckResourceAttr (resourceName , "network_security_group_ids.#" , "0" ),
105147 resource .TestCheckResourceAttr (resourceName , "private_source_dns_zones.#" , "1" ),
106148 resource .TestCheckResourceAttr (resourceName , "private_source_dns_zones.0.description" , "Tenant VCN DNS Zone 2" ),
107149 resource .TestCheckResourceAttr (resourceName , "private_source_dns_zones.0.dns_zone" , "terraformtest2.oraclevcn.com" ),
150+ resource .TestCheckResourceAttr (resourceName , "private_source_scan_hosts.#" , "1" ),
151+ resource .TestCheckResourceAttr (resourceName , "private_source_scan_hosts.0.description" , "Example OCI SCAN label 2" ),
152+ resource .TestCheckResourceAttr (resourceName , "private_source_scan_hosts.0.scan_hostname" , "scanHostname2" ),
153+ resource .TestCheckResourceAttr (resourceName , "private_source_scan_hosts.0.scan_port" , "11" ),
108154 resource .TestCheckResourceAttrSet (resourceName , "subnet_id" ),
109155 resource .TestCheckResourceAttrSet (resourceName , "vcn_id" ),
110156
0 commit comments