OCI -- Compute Instance Creation : VCN :Subnet -- Multiple Instances - Practice

 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 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

Popular posts from this blog

Create OCI Infrastructure : Using Ansible

Oracle -OCI : Foundations

OCI -- Compute Instance Creation : VCN :Subnet