+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
You can use the same code that you have created and create multiple instances or resources using resourcegroup.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I have written a code under the folder testing_self it has a main.tf , variables file etc.
Now I am creating another folder by anyname (I am creating the folder as Monto) -- created a file under the folder as main.tf
And I am just calling the code three times using a module
module "instance1" {
source = "../testing_self"
}
module "instance2" {
source = "../testing_self"
}
module "instance3" {
source = "../testing_self"
}
Now terraform init
> terraform validate
> terraform plan
> terraform apply
You will have thress resources created.
===
Multiple Instance using Count COUNT variable MULTIPLE INSTANCES
display_name = "${var.instance_display_name}.${count.index + 1}"
display_name = "${var.instance_display_name}_${count.index + 1}"
resource "oci_core_instance" "test_instance_new" {
#Required
availability_domain = var.instance_availability_domain
compartment_id = var.compartment_id
shape = var.instance_shape
count = "${var.number_of_instances}"
#Optional
display_name = "${var.instance_display_name}_${count.index + 1}"
Variables file
variable "number_of_instances" {
type = number
default = "10"
description = "Number of instances"
}
=== Multi - Compute - Instance
resource "oci_core_instance" "test_instance_new" {
#Required
availability_domain = var.instance_availability_domain
compartment_id = var.compartment_id
shape = var.instance_shape
count = "${var.number_of_instances}"
freeform_tags = {"Department"= "Tag-OPA-testing-Servers"}
#Optional
agent_config {
plugins_config {
#Required
desired_state = var.cloud_agent_plugins.bastion
name = "Bastion"
}
}
create_vnic_details {
subnet_id = var.subnet_id
}
display_name = "${var.instance_display_name}_${count.index + 1}"
platform_config {
#Required
type = var.instance_platform_config_type
}
shape_config {
#Optional
baseline_ocpu_utilization = var.instance_shape_config_baseline_ocpu_utilization
memory_in_gbs = var.instance_shape_config_memory_in_gbs
#nvmes = var.instance_shape_config_nvmes
ocpus = var.instance_shape_config_ocpus
}
source_details {
boot_volume_size_in_gbs = var.boot_volume_size_in_gbs
source_id = var.source_ocid
source_type = var.source_type
}
}
Comments
Post a Comment