Skip to content

Commit 08ff215

Browse files
author
Sean Sundberg
authored
Adds provision flag to create or look up resource (#19)
Signed-off-by: Sean Sundberg <[email protected]>
1 parent d60f36a commit 08ff215

File tree

3 files changed

+35
-6
lines changed

3 files changed

+35
-6
lines changed

main.tf

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,34 @@
22
locals {
33
prefix_name = var.name_prefix != "" ? var.name_prefix : var.resource_group_name
44
vpc_name = lower(replace(var.name != "" ? var.name : "${local.prefix_name}-vpc", "_", "-"))
5-
vpc_id = ibm_is_vpc.vpc.id
6-
security_group_id = ibm_is_vpc.vpc.default_security_group
7-
crn = ibm_is_vpc.vpc.resource_crn
5+
vpc_id = data.ibm_is_vpc.vpc.id
6+
security_group_id = data.ibm_is_vpc.vpc.default_security_group
7+
acl_id = data.ibm_is_vpc.vpc.default_network_acl
8+
crn = data.ibm_is_vpc.vpc.resource_crn
89
}
910

1011
resource ibm_is_vpc vpc {
12+
count = var.provision ? 1 : 0
13+
1114
name = local.vpc_name
1215
resource_group = var.resource_group_id
1316
default_security_group_name = "${local.vpc_name}-security-group"
17+
default_network_acl_name = "${local.vpc_name}-acl"
18+
default_routing_table_name = "${local.vpc_name}-routing"
19+
}
20+
21+
data ibm_is_vpc vpc {
22+
depends_on = [ibm_is_vpc.vpc]
23+
24+
name = local.vpc_name
1425
}
1526

1627
resource ibm_is_network_acl network_acl {
17-
name = "${local.vpc_name}-acl"
18-
vpc = ibm_is_vpc.vpc.id
28+
count = var.provision ? 1 : 0
29+
30+
name = "${local.vpc_name}-acl2"
1931
resource_group = var.resource_group_id
32+
vpc = data.ibm_is_vpc.vpc.id
2033

2134
rules {
2235
name = "egress"
@@ -35,6 +48,8 @@ resource ibm_is_network_acl network_acl {
3548
}
3649

3750
resource ibm_is_security_group_rule rule_icmp_ping {
51+
count = var.provision ? 1 : 0
52+
3853
group = local.security_group_id
3954
direction = "inbound"
4055
remote = "0.0.0.0/0"
@@ -45,6 +60,8 @@ resource ibm_is_security_group_rule rule_icmp_ping {
4560

4661
# from https://cloud.ibm.com/docs/vpc?topic=vpc-service-endpoints-for-vpc
4762
resource ibm_is_security_group_rule "cse_dns_1" {
63+
count = var.provision ? 1 : 0
64+
4865
group = local.security_group_id
4966
direction = "outbound"
5067
remote = "161.26.0.10"
@@ -55,6 +72,8 @@ resource ibm_is_security_group_rule "cse_dns_1" {
5572
}
5673

5774
resource ibm_is_security_group_rule cse_dns_2 {
75+
count = var.provision ? 1 : 0
76+
5877
group = local.security_group_id
5978
direction = "outbound"
6079
remote = "161.26.0.11"
@@ -65,6 +84,8 @@ resource ibm_is_security_group_rule cse_dns_2 {
6584
}
6685

6786
resource ibm_is_security_group_rule private_dns_1 {
87+
count = var.provision ? 1 : 0
88+
6889
group = local.security_group_id
6990
direction = "outbound"
7091
remote = "161.26.0.7"
@@ -75,6 +96,8 @@ resource ibm_is_security_group_rule private_dns_1 {
7596
}
7697

7798
resource ibm_is_security_group_rule private_dns_2 {
99+
count = var.provision ? 1 : 0
100+
78101
group = local.security_group_id
79102
direction = "outbound"
80103
remote = "161.26.0.8"

outputs.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ output "id" {
1212
}
1313

1414
output "acl_id" {
15-
value = ibm_is_network_acl.network_acl.id
15+
value = local.acl_id
1616
description = "The id of the network acl"
1717
}
1818

variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,9 @@ variable "ibmcloud_api_key" {
2929
type = string
3030
description = "The IBM Cloud api token"
3131
}
32+
33+
variable "provision" {
34+
type = bool
35+
description = "Flag indicating that the instance should be provisioned. If false then an existing instance will be looked up"
36+
default = true
37+
}

0 commit comments

Comments
 (0)