terraform-oci-vcn icon indicating copy to clipboard operation
terraform-oci-vcn copied to clipboard

A reusable and extensible Terraform module that provisions a VCN on Oracle Cloud Infrastructure

= Terraform VCN for Oracle Cloud Infrastructure

:idprefix: :idseparator: -

:uri-repo: https://github.com/oracle-terraform-modules/terraform-oci-vcn

:uri-rel-file-base: link:{uri-repo}/blob/main :uri-rel-tree-base: link:{uri-repo}/tree/main

:uri-docs: {uri-rel-file-base}/docs

:uri-changelog: {uri-rel-file-base}/CHANGELOG.adoc

:uri-contribute: {uri-rel-file-base}/CONTRIBUTING.adoc :uri-contributors: {uri-rel-file-base}/CONTRIBUTORS.adoc

:uri-license: {uri-rel-file-base}/LICENSE :uri-canonical-license: https://oss.oracle.com/licenses/upl/ :uri-networks-subnets-cidr: https://erikberg.com/notes/networks.html :uri-oci: https://cloud.oracle.com/cloud-infrastructure :uri-oci-documentation: https://docs.cloud.oracle.com/iaas/Content/home.htm :uri-oracle: https://www.oracle.com :uri-prereqs: {uri-docs}/prerequisites.adoc :uri-quickstart: {uri-docs}/quickstart.adoc :uri-reuse-module: {uri-rel-tree-base}/examples/ :uri-rm: {uri-docs}/resourcemanager.adoc :uri-terraform: https://www.terraform.io :uri-terraform-hashicorp-examples: https://github.com/hashicorp/terraform-guides/tree/master/infrastructure-as-code/terraform-0.12-examples :uri-terraform-oci: https://www.terraform.io/docs/providers/oci/index.html :uri-terraform-options: {uri-docs}/terraformoptions.adoc :uri-terraform-oci-examples: https://github.com/terraform-providers/terraform-provider-oci/tree/master/examples

The {uri-repo}[Terraform VCN] for {uri-oci}[Oracle Cloud Infrastructure] (OCI) provides a reusable Terraform module that provisions a minimal VCN on OCI.

It creates the following resources:

  • A VCN with one or more customizable CIDR blocks
  • An optional internet gateway and a route table
  • An optional NAT gateway and a route table
  • An optional service gateway
  • One or more optional Local Peering Gateways in requestor or acceptor mode, and possibilities to associate a Route Table

It also controls the Default Security List, with a Lockdown mode that can be enabled or disabled

Custom route rules can be added to the two route tables created by the module.

This module is primarily meant to be reusable to create more advanced infrastructure on {uri-oci}[OCI] either manually in the OCI Console or by extending the Terraform code.

== {uri-docs}[Documentation]

  • {uri-prereqs}[Pre-requisites]

  • Instructions ** {uri-quickstart}[Quickstart] ** {uri-rm}[Resource Manager] ** {uri-reuse-module}[Reusing as a Terraform module]

  • {uri-terraform-options}[Terraform Options]

== Related Documentation, Blog

  • {uri-oci-documentation}[Oracle Cloud Infrastructure Documentation]
  • {uri-terraform-oci}[Terraform OCI Provider Documentation]
  • {uri-networks-subnets-cidr}[Erik Berg on Networks, Subnets and CIDR]

== Projects using this module

== Changelog

View the {uri-changelog}[CHANGELOG].

== Acknowledgement

Code derived and adapted from {uri-terraform-oci-examples}[Terraform OCI Examples] and Hashicorp's {uri-terraform-hashicorp-examples}[Terraform 0.12 examples]

== Contributors

{uri-contributors}[Folks who contributed with explanations, code, feedback, ideas, testing etc.]

Learn how to {uri-contribute}[contribute].

== License

Copyright © 2019, 2021, Oracle and/or its associates.

Licensed under the {uri-license}[Universal Permissive License 1.0] as shown at {uri-canonical-license}[https://oss.oracle.com/licenses/upl].