Skip to content

Cloud Blogs

Author – Madhusudhan Rao

Menu
  • Archive Blogs
    • Cloud-Blogs by Madhusudhan Rao
      • ADF
        • ADF based Android Apps
        • ADF CRUD Cascaded LOVs
        • ADF CRUD Operation
        • ADF for Dummies
        • ADF for Financial Services Software Development
      • Analytics & Visualization
        • Business Intelligence
        • Oracle BI & DV Cloud Service
        • setting up Oracle Analytics Cloud Instance and Data Visualization Techniques
      • App Servers & DevOps
        • How to deploy NodeJS Application on Oracle Application Container Cloud Service
        • Oracle Application Container Cloud Service
        • Oracle Java Cloud Service
      • Architecture
        • 01 Enterprise Business
        • 02 Content framework
        • 03 Enterprise Continuum
        • 04 Maturity Models
        • 05-Architecture Governance
        • 06-Preliminary Phase
        • 07-Architecture Vision
        • 08-Business Architecture
        • 09-Info Sys Architecture
        • 10-Tech Architecture
        • 11 Opportunities & Solns
        • 12-Migration Planning
        • 14 Implementation Governance
        • 15 Change Management
        • 16-Requirement Management
        • 17 Reference Models
        • Cloud Architecture Concepts
          • 01 Architecture Concepts – Regulatory Compliance, Security monitoring and Storage protocols
          • 02 Architecture – Network Concepts and Bare Metal
          • 03 Enterprise Solution Architecture – Best Practices
          • 04 Cloud Architecture Concepts
        • Value Selling Techniques
      • OCI Admin Blogs
        • Create Oracle Cloud Infrastructure Instance
        • ElasticSearch & Kibana – Must for All Search Engine Development
        • How to Create Oracle Bare metal Compute Instance
        • Measuring Latency and TraceRoute Details with Oracle Edge Services
        • OCI Oracle cloud infrastructure – Setting up a NAT Instances for Public Internet Access from a Private Subnet
        • Oracle Cloud Infrastructure – OCI Creating buckets and object storage – setting up self expiry URLs
        • Oracle Cloud Infrastructure OCI – Create Instance ,Attach Block Volume , Open Ports, Setup Firewall rules
        • Python Basics
        • setting up Apache Tomcat on Oracle Cloud Infrastructure OCI
        • setting up CloudFlare DNS & HAProxy on Oracle Cloud Infrastructure for High Availability
        • Setting up Django Python Web Environment on Oracle Cloud
        • setting up File Storage on OCI and uploading files through Filezilla FTP
        • Setting up GPU-enabled Narupa server on Oracle Bare Metal Cloud for Virtual Reality Clients
        • setting up LAMP Stack , PHP 5.6, PhpMyAdmin , FTP and Mail Server on OCI
        • setting up Load Balancer on Oracle Cloud Infrastructure
        • setting up MongoDB Enterprise version Instance on Oracle Cloud Infrastructure Baremetal
        • setting up MongoDB on Oracle Cloud Infrastructure Classic and Opening Ports
        • Setting up SSH , FTP and Opening Ports on Oracle Cloud PaaS and IaaS
        • setting up web infrastructure DNS and HTTPS for your cloud Infrastructure as a Service OCI
        • World of Slack Programming
      • OCI Classic Blogs
        • How to Create WordPress blog on Oracle Cloud
        • running Function as a Service on Oracle Cloud Infrastructure – fnproject.io
        • running Hadoop & Big Data on Oracle Cloud Infrastructure
        • running TensorFlow Machine Learning for Image Recognition on Oracle Cloud Infrastructure
        • Setting up Kubernetes on Oracle Cloud Infrastructure – Classic
      • Oracle BPM for Financial Services
        • BPM for FS
        • 1. Setting up the development environment
        • 2. Modeling a home loan business process
        • 3. Implementing a home loan business process
        • 4. Deploying and testing a process workflow
        • 5. Administering processes
        • 6. Changing a business process by the process analyst
        • 7. Creating business reports for process owners
        • 8. Participating in a business process
        • 9. Integrating with business partners
        • 10. Collaborating with customers and end users
      • Oracle JET Series
    • Dockers on OCI Series
      • Comprehensive Blog on Dockers running on OCI
      • running a Docker Container on OCI
      • opening OCI Ports for Docker Containers
      • Building a Docker Image by using Dockerfile
      • Committing changes made in a Docker without using Dockerfile
      • pushing image to Docker Hub
      • DevOps with Github, Docker Hub and Oracle Container Cloud Services
      • running Apache Kafka for continuous data streaming on Oracle cloud infrastructure
    • Oracle Database Cloud Service
    • Oracle OKE Series
      • 01 Comprehensive Blog on Oracle Kubernetes Engine – getting started
      • 02 Configure Network Resources for Oracle Kubernetes Engine
      • 03 Creating 3 Worker and 2 Load Balancers Subnets for OKE
      • 04 Creating Oracle Kubernetes Cluster
      • 05 – Enable Cluster access through Command line interface
      • 06 – Getting onto Oracle Kubernetes Engine Dashboard
      • 07 Pod Configuration using a YAML Deployment
    • setting up and running Oracle Big Data PaaS
    • Setting up MySQL PaaS on Oracle Cloud
    • SOA BPM IDM Portal Series
      • FMW
        • Comprehensive Business Process Management – BPM 11g
        • FMW Install Startup Scripts
        • Oracle 11gR2 and 12c Database on Linux / OEL / Fedora
        • Oracle Identity Mangement
        • PS6, PS7, PS8 Install and Configuration
      • Webcenter Portal
        • Art of Webcenter Templating
        • Webcenter Sites Installation Linux
        • Webcenter Sites Look n feel
        • Webcenter Spaces
          • Custom Landing Page
        • Webcenter UCM Integration PS5
        • Webcenter, BPM Process Spaces – UCM PS5
        • BPM UCM and Webcenter PS5
      • BPM Series
        • 01-Simple BPM Task Initiator
        • 02-Business Rules and Exclusive Gateway
        • 03-Service Invocation Adapters
        • 04-BPM as a Web Service
        • 05-Mediator and Conditional Service Routing
        • 06-BPM Composer – Runtime Edit
        • 07-BPM and JMS Adapters
        • Oracle BPM 12c features
      • Process Cloud Service
        • Part 1 – Working with Process Cloud Service
        • Part 2 – How to Build Process , Data Persistence in Database Cloud Service
        • Part 3 – Invoking PCS Process from Oracle JET Framework
      • SOA Series
        • Oracle OSB 11g
        • Oracle SOA 11g Business Rules
        • Oracle SOA 11g DB Adapter
        • Oracle SOA 11g Mediator
        • SOA 11g AQ Adapters
    • Terraform on OCI Series
      • Create a Highly Scalable Cluster in the cloud using Terraform on OCI
      • Creating an Instance with New VNC Network
      • Managing the OCI Cluster with Slurm Workload Manager & Grafana
      • Terraform on OCI create instance
      • Terraform on OCI create load balancer
      • Terraform on OCI create non-federated user
      • Terraform on OCI create user, group, dynamic group and policies
      • Terraform on Oracle Cloud OCI
  • Database Developer Series
  • Database Series
    • Autonomous Data Warehouse and Analytics
      • 01 Preparing Client Machine
      • 02 Creating Autonomous Data Warehouse Instance
      • 03 Creating Tables into Autonomous Data Warehouse through SQL Developer
      • 04 Load Data into OCI Object storage and import that data into Autonomous Data warehouse
      • 05 Create Autonomous Analytics Cloud ADW Connection and create Data Visualization
    • Oracle Apex Cloud Service
Menu

Creating an Instance with New VNC Network

Mastering Terraform on Oracle Cloud Infrastructure – Deep dive training

Table of Content

  • Terraform setting up variables
  • Creating a Compartment on OCI
  • Creating an Instance with existing Network
  • Creating an Instance with Network
  • Create Non Federated User
  • Create user, group, dynamic group, attach users to group and policies
  • Create Highly Scalable Cluster on OCI
    • Managing Cluster with Slurm workload manager and Grafana
  • Create Load Balancer on OCI
  • Author : Madhusudhan Rao

Creating an Instance with a New VNC Network

Here we would need 2 files in a folder they are listed below

  1. variables.tf
  2. vnic.tf

variables.tf

You can get these variable values from our previous exercise

#*************************************
#           TF Requirements
#*************************************
variable "tenancy_ocid" {
  default = "ocid1.tenancy.oc1..aaaaaaaaXXXXX5vjqpsdd6ahdouq"
}
variable "region" {
  default = "us-ashburn-1"
}
variable "user_ocid" {
  default = "ocid1.user.oc1..aaaaaaaa7XXXXfcue4nbuxjsf3s4mca"
}
variable "private_key_path"{
  default = "/Users/madhusudhanrao/tf/keys/myopensslkey.pem"
}
variable "fingerprint"{
  default = "e6:65:1d:3f:8f:94:XX:8f:a0:6a:9c:9b:45:a1"
}
variable "compartment_ocid" {
  #Compartment-15Nov
  default = "ocid1.compartment.oc1..aaaaaaaXXXXexkqukwwbzx5nuauaa"
}
variable "ssh_public_key" { 
   # cat id_rsa.pub       
   default =  "ssh-rsa AAAAB3NzaC1yc2EAAAAXXXXXuZw== [email protected]" 
}
variable "ssh_private_key" { 
    default = "/Users/madhusudhanrao/tf/keys/myopensslkey.pem"
}

vnic.tf

We will create a VNC with name nov15vnc ,

subnet name as examplesubnet

Network Security Group as TestNetworkSecurityGroup

Instance Name as TestInstance , Oracle Linux 7.5 Image

Instance Shape as VM Standard 2.1

 
// Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
// Licensed under the Mozilla Public License v2.0

#variable "tenancy_ocid" {}

#variable "user_ocid" {}

#variable "fingerprint" {}

#variable "private_key_path" {}

#variable "compartment_ocid" {}

#variable "region" {}

#variable "ssh_public_key" {}

variable "secondary_vnic_count" {
  default = 1
}

variable "instance_image_ocid" {
  type = map(string)

  default = {
    # See https://docs.us-phoenix-1.oraclecloud.com/images/
    # Oracle-provided image "Oracle-Linux-7.5-2018.10.16-0"
    us-phoenix-1   = "ocid1.image.oc1.phx.aaaaaaaaoqj42sokaoh42l76wsyhn3k2beuntrh5maj3gmgmzeyr55zzrwwa"
    us-ashburn-1   = "ocid1.image.oc1.iad.aaaaaaaageeenzyuxgia726xur4ztaoxbxyjlxogdhreu3ngfj2gji3bayda"
    eu-frankfurt-1 = "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaaitzn6tdyjer7jl34h2ujz74jwy5nkbukbh55ekp6oyzwrtfa4zma"
    uk-london-1    = "ocid1.image.oc1.uk-london-1.aaaaaaaa32voyikkkzfxyo4xbdmadc2dmvorfxxgdhpnk6dw64fa3l4jh7wa"
  }
}

provider "oci" {
  tenancy_ocid     = var.tenancy_ocid
  user_ocid        = var.user_ocid
  fingerprint      = var.fingerprint
  private_key_path = var.private_key_path
  region           = var.region
}

data "oci_identity_availability_domain" "ad" {
  compartment_id = var.tenancy_ocid
  ad_number      = 1
}

resource "oci_core_vcn" "nov15_vcn" {
  cidr_block     = "10.0.0.0/16"
  compartment_id = var.compartment_ocid
  display_name   = "nov15vcn"
  dns_label      = "nov15vcn"
}

resource "oci_core_subnet" "test_subnet" {
  availability_domain = data.oci_identity_availability_domain.ad.name
  cidr_block          = "10.0.1.0/24"
  display_name        = "TestSubnet"
  compartment_id      = var.compartment_ocid
  vcn_id              = oci_core_vcn.nov15_vcn.id
  route_table_id      = oci_core_vcn.nov15_vcn.default_route_table_id
  security_list_ids   = [oci_core_vcn.nov15_vcn.default_security_list_id]
  dhcp_options_id     = oci_core_vcn.nov15_vcn.default_dhcp_options_id
  dns_label           = "examplesubnet"
}

resource "oci_core_network_security_group" "test_network_security_group" {
  #Required
  compartment_id = var.compartment_ocid
  vcn_id         = oci_core_vcn.nov15_vcn.id 
  #Optional
  display_name = "TestNetworkSecurityGroup"
}

resource "oci_core_instance" "test_instance" {
  availability_domain = data.oci_identity_availability_domain.ad.name
  compartment_id      = var.compartment_ocid
  display_name        = "TestInstance"
  shape               = "VM.Standard2.1" 
  source_details {
    source_type = "image"
    source_id   = var.instance_image_ocid[var.region]
  } 
  create_vnic_details {
    subnet_id      = oci_core_subnet.test_subnet.id
    hostname_label = "testinstance"
  } 
  metadata = {
    ssh_authorized_keys = var.ssh_public_key
  } 
  timeouts {
    create = "60m"
  }
}

resource "oci_core_vnic_attachment" "secondary_vnic_attachment" {
  instance_id  = oci_core_instance.test_instance.id
  display_name = "SecondaryVnicAttachment_${count.index}"

  create_vnic_details {
    subnet_id              = oci_core_subnet.test_subnet.id
    display_name           = "SecondaryVnic_${count.index}"
    assign_public_ip       = true
    skip_source_dest_check = true
    nsg_ids                = [oci_core_network_security_group.test_network_security_group.id]
  }

  count = var.secondary_vnic_count
}

data "oci_core_vnic" "secondary_vnic" {
  count = var.secondary_vnic_count
  vnic_id = element(
    oci_core_vnic_attachment.secondary_vnic_attachment.*.vnic_id,
    count.index,
  )
}

output "primary_ip_addresses" {
  value = [
    oci_core_instance.test_instance.public_ip,
    oci_core_instance.test_instance.private_ip,
  ]
}

output "secondary_public_ip_addresses" {
  value = [data.oci_core_vnic.secondary_vnic.*.public_ip_address]
}

output "secondary_private_ip_addresses" {
  value = [data.oci_core_vnic.secondary_vnic.*.private_ip_address]
}


terraform init

- statements ignored -

terraform plan

- statements ignored -

terraform apply

[email protected] mytf-vnc % terraform apply
data.oci_identity_availability_domain.ad: Refreshing state... 
[id=ocid1.availabilitydomain.oc1..aaaaaaaatXXXXXagqrfhcb7mxsfdq]

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create
 <= read (data resources)

Terraform will perform the following actions:

  # data.oci_core_vnic.secondary_vnic[0] will be read during apply
  # (config refers to values not yet known)
 <= data "oci_core_vnic" "secondary_vnic"  {
      + availability_domain    = (known after apply)
      + compartment_id         = (known after apply)
      + defined_tags           = (known after apply)
      + display_name           = (known after apply)
      + freeform_tags          = (known after apply)
      + hostname_label         = (known after apply)
      + id                     = (known after apply)
      + is_primary             = (known after apply)
      + mac_address            = (known after apply)
      + nsg_ids                = (known after apply)
      + private_ip_address     = (known after apply)
      + public_ip_address      = (known after apply)
      + skip_source_dest_check = (known after apply)
      + state                  = (known after apply)
      + subnet_id              = (known after apply)
      + time_created           = (known after apply)
      + vlan_id                = (known after apply)
      + vnic_id                = (known after apply)
    }

  # oci_core_instance.test_instance will be created
  + resource "oci_core_instance" "test_instance" {
      + availability_domain                 = "mKWN:US-ASHBURN-AD-1"
      + boot_volume_id                      = (known after apply)
      + compartment_id                      = "ocid1.compartment.oc1..aaaaaaaXXXXXbzx5nuauaa"
      + dedicated_vm_host_id                = (known after apply)
      + defined_tags                        = (known after apply)
      + display_name                        = "TestInstance"
      + fault_domain                        = (known after apply)
      + freeform_tags                       = (known after apply)
      + hostname_label                      = (known after apply)
      + id                                  = (known after apply)
      + image                               = (known after apply)
      + ipxe_script                         = (known after apply)
      + is_pv_encryption_in_transit_enabled = (known after apply)
      + launch_mode                         = (known after apply)
      + metadata                            = {
          + "ssh_authorized_keys" = "ssh-rsa AAAAB3NzaC1yXXXXXXX4kmtnCR6TihglaQ8QbXVi5nB5yauZw== [email protected]"
        }
      + private_ip                          = (known after apply)
      + public_ip                           = (known after apply)
      + region                              = (known after apply)
      + shape                               = "VM.Standard2.1"
      + state                               = (known after apply)
      + subnet_id                           = (known after apply)
      + system_tags                         = (known after apply)
      + time_created                        = (known after apply)
      + time_maintenance_reboot_due         = (known after apply)

      + agent_config {
          + is_management_disabled = (known after apply)
          + is_monitoring_disabled = (known after apply)
        }

      + availability_config {
          + recovery_action = (known after apply)
        }

      + create_vnic_details {
          + assign_public_ip       = "true"
          + defined_tags           = (known after apply)
          + display_name           = (known after apply)
          + freeform_tags          = (known after apply)
          + hostname_label         = "testinstance"
          + private_ip             = (known after apply)
          + skip_source_dest_check = (known after apply)
          + subnet_id              = (known after apply)
          + vlan_id                = (known after apply)
        }

      + instance_options {
          + are_legacy_imds_endpoints_disabled = (known after apply)
        }

      + launch_options {
          + boot_volume_type                    = (known after apply)
          + firmware                            = (known after apply)
          + is_consistent_volume_naming_enabled = (known after apply)
          + is_pv_encryption_in_transit_enabled = (known after apply)
          + network_type                        = (known after apply)
          + remote_data_volume_type             = (known after apply)
        }

      + shape_config {
          + gpu_description               = (known after apply)
          + gpus                          = (known after apply)
          + local_disk_description        = (known after apply)
          + local_disks                   = (known after apply)
          + local_disks_total_size_in_gbs = (known after apply)
          + max_vnic_attachments          = (known after apply)
          + memory_in_gbs                 = (known after apply)
          + networking_bandwidth_in_gbps  = (known after apply)
          + ocpus                         = (known after apply)
          + processor_description         = (known after apply)
        }

      + source_details {
          + boot_volume_size_in_gbs = (known after apply)
          + kms_key_id              = (known after apply)
          + source_id               = "ocid1.image.oc1.iad.aaaaaaaageeenzyuxgia726xur4ztaoxbxyjlxogdhreu3ngfj2gji3bayda"
          + source_type             = "image"
        }

      + timeouts {
          + create = "60m"
        }
    }

  # oci_core_network_security_group.test_network_security_group will be created
  + resource "oci_core_network_security_group" "test_network_security_group" {
      + compartment_id = "ocid1.compartment.oc1..aaaaaaaahb7s4w3XXXXXwwbzx5nuauaa"
      + defined_tags   = (known after apply)
      + display_name   = "TestNetworkSecurityGroup"
      + freeform_tags  = (known after apply)
      + id             = (known after apply)
      + state          = (known after apply)
      + time_created   = (known after apply)
      + vcn_id         = (known after apply)
    }

  # oci_core_subnet.test_subnet will be created
  + resource "oci_core_subnet" "test_subnet" {
      + availability_domain        = "mKWN:US-ASHBURN-AD-1"
      + cidr_block                 = "10.0.1.0/24"
      + compartment_id             = "ocid1.compartment.oc1..aaaaaaaahb7XXXXXXzx5nuauaa"
      + defined_tags               = (known after apply)
      + dhcp_options_id            = (known after apply)
      + display_name               = "TestSubnet"
      + dns_label                  = "examplesubnet"
      + freeform_tags              = (known after apply)
      + id                         = (known after apply)
      + ipv6cidr_block             = (known after apply)
      + ipv6public_cidr_block      = (known after apply)
      + ipv6virtual_router_ip      = (known after apply)
      + prohibit_public_ip_on_vnic = (known after apply)
      + route_table_id             = (known after apply)
      + security_list_ids          = (known after apply)
      + state                      = (known after apply)
      + subnet_domain_name         = (known after apply)
      + time_created               = (known after apply)
      + vcn_id                     = (known after apply)
      + virtual_router_ip          = (known after apply)
      + virtual_router_mac         = (known after apply)
    }

  # oci_core_vcn.nov15_vcn will be created
  + resource "oci_core_vcn" "nov15_vcn" {
      + cidr_block               = "10.0.0.0/16"
      + cidr_blocks              = (known after apply)
      + compartment_id           = "ocid1.compartment.oc1..aaaaaaaaXXXXXXwbzx5nuauaa"
      + default_dhcp_options_id  = (known after apply)
      + default_route_table_id   = (known after apply)
      + default_security_list_id = (known after apply)
      + defined_tags             = (known after apply)
      + display_name             = "nov15vcn"
      + dns_label                = "nov15vcn"
      + freeform_tags            = (known after apply)
      + id                       = (known after apply)
      + ipv6cidr_block           = (known after apply)
      + ipv6public_cidr_block    = (known after apply)
      + is_ipv6enabled           = (known after apply)
      + state                    = (known after apply)
      + time_created             = (known after apply)
      + vcn_domain_name          = (known after apply)
    }

  # oci_core_vnic_attachment.secondary_vnic_attachment[0] will be created
  + resource "oci_core_vnic_attachment" "secondary_vnic_attachment" {
      + availability_domain = (known after apply)
      + compartment_id      = (known after apply)
      + display_name        = "SecondaryVnicAttachment_0"
      + id                  = (known after apply)
      + instance_id         = (known after apply)
      + nic_index           = (known after apply)
      + state               = (known after apply)
      + subnet_id           = (known after apply)
      + time_created        = (known after apply)
      + vlan_id             = (known after apply)
      + vlan_tag            = (known after apply)
      + vnic_id             = (known after apply)

      + create_vnic_details {
          + assign_public_ip       = "true"
          + defined_tags           = (known after apply)
          + display_name           = "SecondaryVnic_0"
          + freeform_tags          = (known after apply)
          + hostname_label         = (known after apply)
          + nsg_ids                = (known after apply)
          + private_ip             = (known after apply)
          + skip_source_dest_check = true
          + subnet_id              = (known after apply)
          + vlan_id                = (known after apply)
        }
    }

Plan: 5 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  ~ primary_ip_addresses           = [
      - "132.145.174.152",
      - "10.0.1.2",
      + (known after apply),
      + (known after apply),
    ]
  ~ secondary_private_ip_addresses = [
      - [
          - "10.0.1.3",
        ],
      + [
          + (known after apply),
        ],
    ]
  ~ secondary_public_ip_addresses  = [
      - [
          - "150.136.240.70",
        ],
      + [
          + (known after apply),
        ],
    ]

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

oci_core_vcn.nov15_vcn: Creating...
oci_core_vcn.nov15_vcn: Creation complete after 4s [id=ocid1.vcn.oc1.iad.amaaaaaafvl7zXXXXXXivjpoowq]
oci_core_network_security_group.test_network_security_group: Creating...
oci_core_subnet.test_subnet: Creating...
oci_core_network_security_group.test_network_security_group: Creation complete after 1s [id=ocid1.networksecuritygroup.oc1.iad.aaaaaaaa3zt3XXXXjlmacxzgysbiba]
oci_core_subnet.test_subnet: Creation complete after 3s [id=ocid1.subnet.oc1.iad.aaaaaaaa7ijtavaayvlmbpXXXXXqozjoeu3yqxn237q]
oci_core_instance.test_instance: Creating...
oci_core_instance.test_instance: Still creating... [10s elapsed]
oci_core_instance.test_instance: Still creating... [20s elapsed]
oci_core_instance.test_instance: Still creating... [30s elapsed]
oci_core_instance.test_instance: Still creating... [40s elapsed]
oci_core_instance.test_instance: Still creating... [50s elapsed]
oci_core_instance.test_instance: Still creating... [1m0s elapsed]
oci_core_instance.test_instance: Creation complete after 1m10s [id=ocid1.instance.oc1.iad.anuwcljtfvl7zmicXXXXXhyafwoemu5a]
oci_core_vnic_attachment.secondary_vnic_attachment[0]: Creating...
oci_core_vnic_attachment.secondary_vnic_attachment[0]: Creation complete after 10s [id=ocid1.vnicattachment.oc1.iad.anuwcljtfvl7XXXXXXlis25353cq]
data.oci_core_vnic.secondary_vnic[0]: Reading...
data.oci_core_vnic.secondary_vnic[0]: Read complete after 0s [id=ocid1.vnic.oc1.iad.abuwcljtqqcoq3XXXX7krfmu3rrgpq]

Apply complete! Resources: 5 added, 0 changed, 0 destroyed.

Outputs:

primary_ip_addresses = [
  "129.X.Y.185",
  "10.0.1.2",
]
secondary_private_ip_addresses = [
  [
    "10.0.1.3",
  ],
]
secondary_public_ip_addresses = [
  [
    "193.A.B.253",
  ],
]
[email protected] mytf-vnc % 

Reality Check

login to cloud console https://console.us-ashburn-1.oraclecloud.com/ and you should be able to see your newly created Ubuntu Instance and Newly created Network

VNC

DHCP Options

Security Group

CIDR Blocks

Security List > Egress Rule

Security List > Ingress Rule

Security List  

Subnet

Cleanup what was created .

[email protected] mytf-vnc % terraform destroy
data.oci_identity_availability_domain.ad: Refreshing state... [id=ocid1.availabilitydomain.oc1..aaaaaaaatrwxaogrXXXXbnomiagqrfhcb7mxsfdq]
oci_core_vcn.nov15_vcn: Refreshing state... [id=ocid1.vcn.oc1.iad.amaaaaaafvl7zmialzxrjgslsfcj5hjpjjl4XXXivjpoowq]
oci_core_network_security_group.test_network_security_group: Refreshing state... [id=ocid1.networksecuritygroup.oc1.iad.aaaaaaaa3XXXX3jlmacxzgysbiba]
oci_core_subnet.test_subnet: Refreshing state... [id=ocid1.subnet.oc1.iad.aaaaaaaa7ijtavaayvXXXXqxn237q]
oci_core_instance.test_instance: Refreshing state... [id=ocid1.instance.oc1.iad.anuwcljtfvl7zmicpgiw5ot4c3ja5XXXXuyhyafwoemu5a]
oci_core_vnic_attachment.secondary_vnic_attachment[0]: Refreshing state... [id=ocid1.vnicattachment.oc1.iad.anXXXwb27u5dz5rtlis25353cq]
data.oci_core_vnic.secondary_vnic[0]: Refreshing state... [id=ocid1.vnic.oc1.iad.abuwcljtqqcoq3ghscnwjgby3awqyylXXXrgpq]

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  - destroy

Terraform will perform the following actions:

  # oci_core_instance.test_instance will be destroyed
  - resource "oci_core_instance" "test_instance" {
      - availability_domain = "mKWN:US-ASHBURN-AD-1" -> null
      - boot_volume_id      = "ocid1.bootvolume.oc1.iad.abuwcljtn3giiqvymXXXXXjs4fvomxce4sq" -> null
      - compartment_id      = "ocid1.compartment.oc1..aaaaaaaahb7s4w3lXXXXkwwbzx5nuauaa" -> null
      - defined_tags        = {
          - "Oracle-Tags.CreatedBy" = "[email protected]"
          - "Oracle-Tags.CreatedOn" = "2020-11-15T11:37:41.892Z"
        } -> null
      - display_name        = "TestInstance" -> null
      - extended_metadata   = {} -> null
      - fault_domain        = "FAULT-DOMAIN-2" -> null
      - freeform_tags       = {} -> null
      - hostname_label      = "testinstance" -> null
      - id                  = "ocid1.instance.oc1.iad.anuwcljtfvl7zmiXXXXhyafwoemu5a" -> null
      - image               = "ocid1.image.oc1.iad.aaaaaaaageXXXXgji3bayda" -> null
      - launch_mode         = "NATIVE" -> null
      - metadata            = {
          - "ssh_authorized_keys" = "ssh-rsa AAAAB3NzaC1yXXXX== [email protected]"
        } -> null
      - private_ip          = "10.0.1.2" -> null
      - public_ip           = "129.213.118.185" -> null
      - region              = "iad" -> null
      - shape               = "VM.Standard2.1" -> null
      - state               = "RUNNING" -> null
      - subnet_id           = "ocid1.subnet.oc1.iad.aaaaaaaa7ijtaXXXXyqxn237q" -> null
      - system_tags         = {} -> null
      - time_created        = "2020-11-15 11:37:42.893 +0000 UTC" -> null

      - agent_config {
          - is_management_disabled = false -> null
          - is_monitoring_disabled = false -> null
        }

      - availability_config {
          - recovery_action = "RESTORE_INSTANCE" -> null
        }

      - create_vnic_details {
          - assign_public_ip       = "true" -> null
          - defined_tags           = {
              - "Oracle-Tags.CreatedBy" = "[email protected]"
              - "Oracle-Tags.CreatedOn" = "2020-11-15T11:37:42.173Z"
            } -> null
          - display_name           = "TestInstance" -> null
          - freeform_tags          = {} -> null
          - hostname_label         = "testinstance" -> null
          - nsg_ids                = [] -> null
          - private_ip             = "10.0.1.2" -> null
          - skip_source_dest_check = false -> null
          - subnet_id              = "ocid1.subnet.oc1.iad.aaaaaaaa7ijXXXXjoeu3yqxn237q" -> null
        }

      - instance_options {
          - are_legacy_imds_endpoints_disabled = false -> null
        }

      - launch_options {
          - boot_volume_type                    = "PARAVIRTUALIZED" -> null
          - firmware                            = "UEFI_64" -> null
          - is_consistent_volume_naming_enabled = false -> null
          - is_pv_encryption_in_transit_enabled = false -> null
          - network_type                        = "VFIO" -> null
          - remote_data_volume_type             = "PARAVIRTUALIZED" -> null
        }

      - shape_config {
          - gpus                          = 0 -> null
          - local_disks                   = 0 -> null
          - local_disks_total_size_in_gbs = 0 -> null
          - max_vnic_attachments          = 2 -> null
          - memory_in_gbs                 = 15 -> null
          - networking_bandwidth_in_gbps  = 1 -> null
          - ocpus                         = 1 -> null
          - processor_description         = "2.0 GHz Intel® Xeon® Platinum 8167M (Skylake)" -> null
        }

      - source_details {
          - boot_volume_size_in_gbs = "47" -> null
          - source_id               = "ocid1.image.oc1.iad.aaaaaaaageeenzyuXXXXgji3bayda" -> null
          - source_type             = "image" -> null
        }

      - timeouts {
          - create = "60m" -> null
        }
    }

  # oci_core_network_security_group.test_network_security_group will be destroyed
  - resource "oci_core_network_security_group" "test_network_security_group" {
      - compartment_id = "ocid1.compartment.oc1..aaaaaaaahb7s4w3laXXXXaexkqukwwbzx5nuauaa" -> null
      - defined_tags   = {
          - "Oracle-Tags.CreatedBy" = "[email protected]"
          - "Oracle-Tags.CreatedOn" = "2020-11-15T11:37:38.158Z"
        } -> null
      - display_name   = "TestNetworkSecurityGroup" -> null
      - freeform_tags  = {} -> null
      - id             = "ocid1.networksecuritygroup.oc1.iad.aaaaaaaa3zt3hXXXXlmacxzgysbiba" -> null
      - state          = "AVAILABLE" -> null
      - time_created   = "2020-11-15 11:37:38.188 +0000 UTC" -> null
      - vcn_id         = "ocid1.vcn.oc1.iad.amaaaaaafvl7zmialzxrjgslsfcj5hjpjjl4qczvuunl6b64d73eivjpoowq" -> null
    }

  # oci_core_subnet.test_subnet will be destroyed
  - resource "oci_core_subnet" "test_subnet" {
      - availability_domain        = "mKWN:US-ASHBURN-AD-1" -> null
      - cidr_block                 = "10.0.1.0/24" -> null
      - compartment_id             = "ocid1.compartment.oc1..aaaaaaaahb7s4XXXXqukwwbzx5nuauaa" -> null
      - defined_tags               = {
          - "Oracle-Tags.CreatedBy" = "[email protected]"
          - "Oracle-Tags.CreatedOn" = "2020-11-15T11:37:38.795Z"
        } -> null
      - dhcp_options_id            = "ocid1.dhcpoptions.oc1.iad.aaaaaaaadxzbXXXXqgjhwnyfgkyq" -> null
      - display_name               = "TestSubnet" -> null
      - dns_label                  = "examplesubnet" -> null
      - freeform_tags              = {} -> null
      - id                         = "ocid1.subnet.oc1.iad.aaaaaaaa7ijtavaayvlmbpyhkXXXXzjoeu3yqxn237q" -> null
      - prohibit_public_ip_on_vnic = false -> null
      - route_table_id             = "ocid1.routetable.oc1.iad.aaaaaaaa4cq53XXXXtehcfglxa4ytqa" -> null
      - security_list_ids          = [
          - "ocid1.securitylist.oc1.iad.aaaaaaaapliq23f77hieipzzg7whsux7mrm7z3q3bvvdf35gjkh4vf4wccwa",
        ] -> null
      - state                      = "AVAILABLE" -> null
      - subnet_domain_name         = "examplesubnet.nov15vcn.oraclevcn.com" -> null
      - time_created               = "2020-11-15 11:37:38.895 +0000 UTC" -> null
      - vcn_id                     = "ocid1.vcn.oc1.iad.amaaaaaafvl7zmialXXXX73eivjpoowq" -> null
      - virtual_router_ip          = "10.0.1.1" -> null
      - virtual_router_mac         = "00:00:17:C6:A1:36" -> null
    }

  # oci_core_vcn.nov15_vcn will be destroyed
  - resource "oci_core_vcn" "nov15_vcn" {
      - cidr_block               = "10.0.0.0/16" -> null
      - cidr_blocks              = [
          - "10.0.0.0/16",
        ] -> null
      - compartment_id           = "ocid1.compartment.oc1..aaaaaaaahb7s4XXXjaexkqukwwbzx5nuauaa" -> null
      - default_dhcp_options_id  = "ocid1.dhcpoptions.oc1.iad.aaaaaaaaXXXXqgjhwnyfgkyq" -> null
      - default_route_table_id   = "ocid1.routetable.oc1.iad.aaaaaaaaXXXXhcfglxa4ytqa" -> null
      - default_security_list_id = "ocid1.securitylist.oc1.iad.aaaaaaaaXXXXkh4vf4wccwa" -> null
      - defined_tags             = {
          - "Oracle-Tags.CreatedBy" = "[email protected]"
          - "Oracle-Tags.CreatedOn" = "2020-11-15T11:37:37.046Z"
        } -> null
      - display_name             = "nov15vcn" -> null
      - dns_label                = "nov15vcn" -> null
      - freeform_tags            = {} -> null
      - id                       = "ocid1.vcn.oc1.iad.amaaaaaafvl7zmialzxrjgXXXX3eivjpoowq" -> null
      - state                    = "AVAILABLE" -> null
      - time_created             = "2020-11-15 11:37:37.049 +0000 UTC" -> null
      - vcn_domain_name          = "nov15vcn.oraclevcn.com" -> null
    }

  # oci_core_vnic_attachment.secondary_vnic_attachment[0] will be destroyed
  - resource "oci_core_vnic_attachment" "secondary_vnic_attachment" {
      - availability_domain = "mKWN:US-ASHBURN-AD-1" -> null
      - compartment_id      = "ocid1.compartment.oc1..aaaaaaaahb7s4w3larbXXXXbzx5nuauaa" -> null
      - display_name        = "SecondaryVnicAttachment_0" -> null
      - id                  = "ocid1.vnicattachment.oc1.iad.anuwcljtfvl7zmicslgpXXXz5rtlis25353cq" -> null
      - instance_id         = "ocid1.instance.oc1.iad.anuwcljtfvl7zmiXXXhyafwoemu5a" -> null
      - nic_index           = 0 -> null
      - state               = "ATTACHED" -> null
      - subnet_id           = "ocid1.subnet.oc1.iad.aaaaaaaa7ijtaXXXXqozjoeu3yqxn237q" -> null
      - time_created        = "2020-11-15 11:38:52.215 +0000 UTC" -> null
      - vlan_tag            = 203 -> null
      - vnic_id             = "ocid1.vnic.oc1.iad.abuwcljtqqcoXXXXn7krfmu3rrgpq" -> null

      - create_vnic_details {
          - assign_public_ip       = "true" -> null
          - defined_tags           = {
              - "Oracle-Tags.CreatedBy" = "[email protected]"
              - "Oracle-Tags.CreatedOn" = "2020-11-15T11:38:51.775Z"
            } -> null
          - display_name           = "SecondaryVnic_0" -> null
          - freeform_tags          = {} -> null
          - nsg_ids                = [
              - "ocid1.networksecuritygroup.oc1.iad.aaaaaaaa3zt3hxXXXXacxzgysbiba",
            ] -> null
          - private_ip             = "10.0.1.3" -> null
          - skip_source_dest_check = true -> null
          - subnet_id              = "ocid1.subnet.oc1.iad.aaaaaaaa7iXXXXoeu3yqxn237q" -> null
        }
    }

Plan: 0 to add, 0 to change, 5 to destroy.

Changes to Outputs:
  - primary_ip_addresses           = [
      - "129.213.118.185",
      - "10.0.1.2",
    ] -> null
  - secondary_private_ip_addresses = [
      - [
          - "10.0.1.3",
        ],
    ] -> null
  - secondary_public_ip_addresses  = [
      - [
          - "193.122.151.253",
        ],
    ] -> null

Do you really want to destroy all resources?
  Terraform will destroy all your managed infrastructure, as shown above.
  There is no undo. Only 'yes' will be accepted to confirm.

  Enter a value: yes

oci_core_vnic_attachment.secondary_vnic_attachment[0]: Destroying... [id=ocid1.vnicattachment.oc1.iad.anuwcljtfvl7zmicslgpoamlzq6kyaa5n44gkxcwb27u5dz5rtlis25353cq]
oci_core_vnic_attachment.secondary_vnic_attachment[0]: Still destroying... [id=ocid1.vnicattachment.oc1.iad.anuwcljtfv...XXXX, 10s elapsed]
oci_core_vnic_attachment.secondary_vnic_attachment[0]: Still destroying... [id=ocid1.vnicattachment.oc1.iad.anuwcljtfv...XXXX, 20s elapsed]
oci_core_vnic_attachment.secondary_vnic_attachment[0]: Destruction complete after 28s
oci_core_network_security_group.test_network_security_group: Destroying... [id=ocid1.networksecuritygroup.oc1.iad.aaaaaaaa3ztXXXacxzgysbiba]
oci_core_instance.test_instance: Destroying... [id=ocid1.instance.oc1.iad.anuwcljtfvl7zmicpgiw5ot4c3ja5ms24mf2yg4ewgnhfuiuyhyafwoemu5a]
oci_core_network_security_group.test_network_security_group: Destruction complete after 2s
oci_core_instance.test_instance: Still destroying... [id=ocid1.instance.oc1.iad.anuwcljtfvl7zmic...XXXX, 10s elapsed]
 oci_core_instance.test_instance: Still destroying... [id=ocid1.instance.oc1.iad.anuwcljtfvl7zmic...XXX, 2m20s elapsed]
oci_core_instance.test_instance: Destruction complete after 2m21s
oci_core_subnet.test_subnet: Destroying... [id=ocid1.subnet.oc1.iad.aaaaaaaa7XXX7lg2s66sqozjoeu3yqxn237q]
oci_core_subnet.test_subnet: Destruction complete after 1s
oci_core_vcn.nov15_vcn: Destroying... [id=ocid1.vcn.oc1.iad.amaaaaaafvlXXXXivjpoowq]
oci_core_vcn.nov15_vcn: Destruction complete after 1s

Destroy complete! Resources: 5 destroyed.

Possible Errors

Error: Service error:InvalidParameter. DNS Label nov15_vcn does not follow Oracle requirements. 
http status code: 400. Opc request id: 34453e11d70XXXE65709A2BD9898CCDF0A

  on vnic.tf line 48, in resource "oci_core_vcn" "nov15_vcn":
  48: resource "oci_core_vcn" "nov15_vcn" {

Solution : remove _ , that is rename nov15_vnc to just nov15vnc

Log in
  • Archive Blogs
    • Cloud-Blogs by Madhusudhan Rao
      • ADF
        • ADF based Android Apps
        • ADF CRUD Cascaded LOVs
        • ADF CRUD Operation
        • ADF for Dummies
        • ADF for Financial Services Software Development
      • Analytics & Visualization
        • Business Intelligence
        • Oracle BI & DV Cloud Service
        • setting up Oracle Analytics Cloud Instance and Data Visualization Techniques
      • App Servers & DevOps
        • How to deploy NodeJS Application on Oracle Application Container Cloud Service
        • Oracle Application Container Cloud Service
        • Oracle Java Cloud Service
      • Architecture
        • 01 Enterprise Business
        • 02 Content framework
        • 03 Enterprise Continuum
        • 04 Maturity Models
        • 05-Architecture Governance
        • 06-Preliminary Phase
        • 07-Architecture Vision
        • 08-Business Architecture
        • 09-Info Sys Architecture
        • 10-Tech Architecture
        • 11 Opportunities & Solns
        • 12-Migration Planning
        • 14 Implementation Governance
        • 15 Change Management
        • 16-Requirement Management
        • 17 Reference Models
        • Cloud Architecture Concepts
          • 01 Architecture Concepts - Regulatory Compliance, Security monitoring and Storage protocols
          • 02 Architecture - Network Concepts and Bare Metal
          • 03 Enterprise Solution Architecture - Best Practices
          • 04 Cloud Architecture Concepts
        • Value Selling Techniques
      • OCI Admin Blogs
        • Create Oracle Cloud Infrastructure Instance
        • ElasticSearch & Kibana - Must for All Search Engine Development
        • How to Create Oracle Bare metal Compute Instance
        • Measuring Latency and TraceRoute Details with Oracle Edge Services
        • OCI Oracle cloud infrastructure - Setting up a NAT Instances for Public Internet Access from a Private Subnet
        • Oracle Cloud Infrastructure - OCI Creating buckets and object storage - setting up self expiry URLs
        • Oracle Cloud Infrastructure OCI - Create Instance ,Attach Block Volume , Open Ports, Setup Firewall rules
        • Python Basics
        • setting up Apache Tomcat on Oracle Cloud Infrastructure OCI
        • setting up CloudFlare DNS & HAProxy on Oracle Cloud Infrastructure for High Availability
        • Setting up Django Python Web Environment on Oracle Cloud
        • setting up File Storage on OCI and uploading files through Filezilla FTP
        • Setting up GPU-enabled Narupa server on Oracle Bare Metal Cloud for Virtual Reality Clients
        • setting up LAMP Stack , PHP 5.6, PhpMyAdmin , FTP and Mail Server on OCI
        • setting up Load Balancer on Oracle Cloud Infrastructure
        • setting up MongoDB Enterprise version Instance on Oracle Cloud Infrastructure Baremetal
        • setting up MongoDB on Oracle Cloud Infrastructure Classic and Opening Ports
        • Setting up SSH , FTP and Opening Ports on Oracle Cloud PaaS and IaaS
        • setting up web infrastructure DNS and HTTPS for your cloud Infrastructure as a Service OCI
        • World of Slack Programming
      • OCI Classic Blogs
        • How to Create WordPress blog on Oracle Cloud
        • running Function as a Service on Oracle Cloud Infrastructure - fnproject.io
        • running Hadoop & Big Data on Oracle Cloud Infrastructure
        • running TensorFlow Machine Learning for Image Recognition on Oracle Cloud Infrastructure
        • Setting up Kubernetes on Oracle Cloud Infrastructure - Classic
      • Oracle BPM for Financial Services
        • BPM for FS
        • 1. Setting up the development environment
        • 2. Modeling a home loan business process
        • 3. Implementing a home loan business process
        • 4. Deploying and testing a process workflow
        • 5. Administering processes
        • 6. Changing a business process by the process analyst
        • 7. Creating business reports for process owners
        • 8. Participating in a business process
        • 9. Integrating with business partners
        • 10. Collaborating with customers and end users
      • Oracle JET Series
    • Dockers on OCI Series
      • Comprehensive Blog on Dockers running on OCI
      • running a Docker Container on OCI
      • opening OCI Ports for Docker Containers
      • Building a Docker Image by using Dockerfile
      • Committing changes made in a Docker without using Dockerfile
      • pushing image to Docker Hub
      • DevOps with Github, Docker Hub and Oracle Container Cloud Services
      • running Apache Kafka for continuous data streaming on Oracle cloud infrastructure
    • Oracle Database Cloud Service
    • Oracle OKE Series
      • 01 Comprehensive Blog on Oracle Kubernetes Engine - getting started
      • 02 Configure Network Resources for Oracle Kubernetes Engine
      • 03 Creating 3 Worker and 2 Load Balancers Subnets for OKE
      • 04 Creating Oracle Kubernetes Cluster
      • 05 - Enable Cluster access through Command line interface
      • 06 - Getting onto Oracle Kubernetes Engine Dashboard
      • 07 Pod Configuration using a YAML Deployment
    • setting up and running Oracle Big Data PaaS
    • Setting up MySQL PaaS on Oracle Cloud
    • SOA BPM IDM Portal Series
      • FMW
        • Comprehensive Business Process Management - BPM 11g
        • FMW Install Startup Scripts
        • Oracle 11gR2 and 12c Database on Linux / OEL / Fedora
        • Oracle Identity Mangement
        • PS6, PS7, PS8 Install and Configuration
      • Webcenter Portal
        • Art of Webcenter Templating
        • Webcenter Sites Installation Linux
        • Webcenter Sites Look n feel
        • Webcenter Spaces
          • Custom Landing Page
        • Webcenter UCM Integration PS5
        • Webcenter, BPM Process Spaces - UCM PS5
        • BPM UCM and Webcenter PS5
      • BPM Series
        • 01-Simple BPM Task Initiator
        • 02-Business Rules and Exclusive Gateway
        • 03-Service Invocation Adapters
        • 04-BPM as a Web Service
        • 05-Mediator and Conditional Service Routing
        • 06-BPM Composer - Runtime Edit
        • 07-BPM and JMS Adapters
        • Oracle BPM 12c features
      • Process Cloud Service
        • Part 1 - Working with Process Cloud Service
        • Part 2 – How to Build Process , Data Persistence in Database Cloud Service
        • Part 3 – Invoking PCS Process from Oracle JET Framework
      • SOA Series
        • Oracle OSB 11g
        • Oracle SOA 11g Business Rules
        • Oracle SOA 11g DB Adapter
        • Oracle SOA 11g Mediator
        • SOA 11g AQ Adapters
    • Terraform on OCI Series
      • Create a Highly Scalable Cluster in the cloud using Terraform on OCI
      • Creating an Instance with New VNC Network
      • Managing the OCI Cluster with Slurm Workload Manager & Grafana
      • Terraform on OCI create instance
      • Terraform on OCI create load balancer
      • Terraform on OCI create non-federated user
      • Terraform on OCI create user, group, dynamic group and policies
      • Terraform on Oracle Cloud OCI
  • Database Developer Series
  • Database Series
    • Autonomous Data Warehouse and Analytics
      • 01 Preparing Client Machine
      • 02 Creating Autonomous Data Warehouse Instance
      • 03 Creating Tables into Autonomous Data Warehouse through SQL Developer
      • 04 Load Data into OCI Object storage and import that data into Autonomous Data warehouse
      • 05 Create Autonomous Analytics Cloud ADW Connection and create Data Visualization
    • Oracle Apex Cloud Service

"Technology has the shelf life of a banana. By the time you buy it, implement it and train people on it, it’s obsolete. … ” as said by Mr Scott McNealy

© 2023 Cloud Blogs | Powered by Minimalist Blog WordPress Theme