Skip to content

Commit 28bd1d6

Browse files
authored
Freeform tags for compute,vcn and subnets (#42)
* freeform tagging Signed-off-by: Karthic Ravindran <[email protected]> * newline addition Signed-off-by: Karthic Ravindran <[email protected]>
1 parent 8e78213 commit 28bd1d6

File tree

13 files changed

+75
-3
lines changed

13 files changed

+75
-3
lines changed

docs/terraformoptions.adoc

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,4 +283,23 @@ Configuration Terraform Options:
283283
|
284284
|Australia/Sydney
285285

286-
|===
286+
|===
287+
288+
== Tagging
289+
290+
[stripes=odd,cols="1d,4d,3a,3a", options=header,width="100%"]
291+
|===
292+
|Parameter
293+
|Description
294+
|Values
295+
|Default
296+
297+
|computetag
298+
|Freeform tag for compute instances.
299+
|
300+
|
301+
302+
|networktag
303+
|Freeform tag for network components like VCN and subnets.
304+
|
305+
|

locals.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,9 @@ locals {
7171
notification_protocol = var.oci_base_admin.notification_protocol
7272
notification_topic = var.oci_base_admin.notification_topic
7373
}
74+
75+
tagging = {
76+
computetag = var.tagging.computetag
77+
networktag = var.tagging.networktag
78+
}
7479
}

main.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
module "vcn" {
55
source = "./modules/vcn"
66
oci_base_vcn = local.oci_base_vcn
7+
tagging = local.tagging
78
}
89

910
module "bastion" {
@@ -13,6 +14,7 @@ module "bastion" {
1314
oci_bastion_network = local.oci_bastion_network
1415
oci_bastion = local.oci_bastion
1516
oci_bastion_notification = local.oci_bastion_notification
17+
tagging = local.tagging
1618
}
1719

1820
module "admin" {
@@ -22,4 +24,5 @@ module "admin" {
2224
oci_admin_network = local.oci_admin_network
2325
oci_admin = local.oci_admin
2426
oci_admin_notification = local.oci_admin_notification
27+
tagging = local.tagging
2528
}

modules/admin/compute.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
resource "oci_core_instance" "admin" {
55
availability_domain = element(var.oci_admin_network.ad_names, (var.oci_admin_network.availability_domains - 1))
66
compartment_id = var.oci_admin_identity.compartment_id
7-
7+
freeform_tags = var.tagging.computetag
8+
89
create_vnic_details {
910
assign_public_ip = false
1011
subnet_id = oci_core_subnet.admin[0].id

modules/admin/subnets.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ resource "oci_core_subnet" "admin" {
1010
route_table_id = var.oci_admin_network.nat_route_id
1111
security_list_ids = [oci_core_security_list.admin[0].id]
1212
vcn_id = var.oci_admin_network.vcn_id
13+
freeform_tags = var.tagging.networktag
1314

1415
count = var.oci_admin.admin_enabled == true ? 1 : 0
1516
}

modules/admin/variables.tf

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,12 @@ variable "oci_admin_notification" {
6060
})
6161
description = "OCI notification parameters for admin"
6262
}
63+
64+
#tagging
65+
variable "tagging" {
66+
type = object({
67+
computetag = map(any)
68+
networktag = map(any)
69+
})
70+
}
71+

modules/bastion/compute.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
resource "oci_core_instance" "bastion" {
55
availability_domain = element(var.oci_bastion_network.ad_names, (var.oci_bastion_network.availability_domains - 1))
66
compartment_id = var.oci_base_identity.compartment_id
7+
freeform_tags = var.tagging.computetag
8+
79

810
create_vnic_details {
911
assign_public_ip = true

modules/bastion/subnets.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ resource "oci_core_subnet" "bastion" {
1010
route_table_id = var.oci_bastion_network.ig_route_id
1111
security_list_ids = [oci_core_security_list.bastion[0].id]
1212
vcn_id = var.oci_bastion_network.vcn_id
13+
freeform_tags = var.tagging.networktag
1314

1415
count = var.oci_bastion.bastion_enabled == true ? 1 : 0
1516
}

modules/bastion/variables.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,11 @@ variable "oci_bastion_notification" {
6262
})
6363
description = "OCI notification parameters for bastion"
6464
}
65+
66+
#tagging
67+
variable "tagging" {
68+
type = object({
69+
computetag = map(any)
70+
networktag = map(any)
71+
})
72+
}

modules/vcn/variables.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,11 @@ variable "oci_base_vcn" {
1313
})
1414
description = "vcn basic parameters"
1515
}
16+
17+
#tagging
18+
variable "tagging" {
19+
type = object({
20+
computetag = map(any)
21+
networktag = map(any)
22+
})
23+
}

0 commit comments

Comments
 (0)