66  prefix_name        =  . name_prefix  !=  " " ?  var. name_prefix  :  var. resource_group_name 
77  vpc_name           =  lower (replace (var. name  !=  " " ?  var. name  :  " ${ local . prefix_name } -vpc" " _" " -" 
88  vpc_id             =  . ibm_is_vpc . vpc . id 
9-   security_group_id  =  . ibm_is_vpc . vpc . default_security_group 
9+   security_group_count  =  . provision  ?  2  :  0 
10+   security_group_ids  =  . provision  ?  [ data . ibm_is_vpc . vpc . default_security_group , data . ibm_is_security_group . base . id  ] :  []
1011  acl_id             =  . ibm_is_vpc . vpc . default_network_acl 
1112  crn                =  . ibm_is_vpc . vpc . resource_crn 
1213  ipv4_cidr_provided  =  . address_prefix_count  >  0  &&  length (var. address_prefixes ) >=  var. address_prefix_count 
@@ -20,9 +21,9 @@ resource ibm_is_vpc vpc {
2021  name                         =  . vpc_name 
2122  resource_group               =  . resource_group_id 
2223  address_prefix_management    =  . ipv4_cidr_provided  ?  " manual" :  " auto" 
23-   default_security_group_name  =  " ${ local . vpc_name } -security-group " 
24-   default_network_acl_name     =  " ${ local . vpc_name } -acl " 
25-   default_routing_table_name   =  " ${ local . vpc_name } -routing " 
24+   default_security_group_name  =  " ${ local . vpc_name } -default " 
25+   default_network_acl_name     =  " ${ local . vpc_name } -default " 
26+   default_routing_table_name   =  " ${ local . vpc_name } -default " 
2627}
2728
2829data  ibm_is_vpc  vpc  {
@@ -60,11 +61,33 @@ resource null_resource post_vpc_address_pfx_default {
6061  }
6162}
6263
64+ resource  ibm_is_security_group  base  {
65+   count  =  . provision  ?  1  :  0 
66+ 
67+   name  =  " ${ local . vpc_name } -base" 
68+   vpc   =  . ibm_is_vpc . vpc . id 
69+   resource_group  =  . resource_group_id 
70+ }
71+ 
72+ data  ibm_is_security_group  base  {
73+   depends_on  =  ibm_is_security_group . base ]
74+ 
75+   name  =  " ${ local . vpc_name } -base" 
76+ }
77+ 
78+ resource  null_resource  print_sg_name  {
79+   depends_on  =  data . ibm_is_security_group . base ]
80+ 
81+   provisioner  "local-exec"  {
82+     command  =  " echo 'SG name: ${ data . ibm_is_security_group . base . name } '" 
83+   }
84+ }
85+ 
6386#  from https://cloud.ibm.com/docs/vpc?topic=vpc-service-endpoints-for-vpc
6487resource  ibm_is_security_group_rule  "cse_dns_1"  {
65-   count  =  var . provision   ?   1   :   0 
88+   count  =  local . security_group_count 
6689
67-   group      =  . security_group_id 
90+   group      =  . security_group_ids [ count . index ] 
6891  direction  =  " outbound" 
6992  remote     =  " 161.26.0.10" 
7093  udp  {
@@ -74,9 +97,9 @@ resource ibm_is_security_group_rule "cse_dns_1" {
7497}
7598
7699resource  ibm_is_security_group_rule  cse_dns_2  {
77-   count  =  var . provision   ?   1   :   0 
100+   count  =  local . security_group_count 
78101
79-   group      =  . security_group_id 
102+   group      =  . security_group_ids [ count . index ] 
80103  direction  =  " outbound" 
81104  remote     =  " 161.26.0.11" 
82105  udp  {
@@ -86,9 +109,9 @@ resource ibm_is_security_group_rule cse_dns_2 {
86109}
87110
88111resource  ibm_is_security_group_rule  private_dns_1  {
89-   count  =  var . provision   ?   1   :   0 
112+   count  =  local . security_group_count 
90113
91-   group      =  . security_group_id 
114+   group      =  . security_group_ids [ count . index ] 
92115  direction  =  " outbound" 
93116  remote     =  " 161.26.0.7" 
94117  udp  {
@@ -98,9 +121,9 @@ resource ibm_is_security_group_rule private_dns_1 {
98121}
99122
100123resource  ibm_is_security_group_rule  private_dns_2  {
101-   count  =  var . provision   ?   1   :   0 
124+   count  =  local . security_group_count 
102125
103-   group      =  . security_group_id 
126+   group      =  . security_group_ids [ count . index ] 
104127  direction  =  " outbound" 
105128  remote     =  " 161.26.0.8" 
106129  udp  {
0 commit comments