{"id":18802138,"url":"https://github.com/oracle-quickstart/terraform-oci-networking","last_synced_at":"2025-04-13T17:32:39.306Z","repository":{"id":63984164,"uuid":"546255011","full_name":"oracle-quickstart/terraform-oci-networking","owner":"oracle-quickstart","description":"Terraform module to Quickstart deploy network resources on OCI and to be reused by other projects","archived":false,"fork":false,"pushed_at":"2024-03-22T16:23:44.000Z","size":79,"stargazers_count":4,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-27T08:58:16.919Z","etag":null,"topics":["firewall","networking","oci","oracle-cloud-infrastructure","remote-peering","security","terraform","terraform-module","terraform-modules","vcn","virtual-cloud-network"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"upl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oracle-quickstart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-05T19:45:06.000Z","updated_at":"2025-03-17T23:49:42.000Z","dependencies_parsed_at":"2024-11-07T22:30:48.840Z","dependency_job_id":"45c2fbd3-e4a9-4390-9a9c-a09eb0ae1db7","html_url":"https://github.com/oracle-quickstart/terraform-oci-networking","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Fterraform-oci-networking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Fterraform-oci-networking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Fterraform-oci-networking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Fterraform-oci-networking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oracle-quickstart","download_url":"https://codeload.github.com/oracle-quickstart/terraform-oci-networking/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248752573,"owners_count":21156116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["firewall","networking","oci","oracle-cloud-infrastructure","remote-peering","security","terraform","terraform-module","terraform-modules","vcn","virtual-cloud-network"],"created_at":"2024-11-07T22:26:41.483Z","updated_at":"2025-04-13T17:32:38.970Z","avatar_url":"https://github.com/oracle-quickstart.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform Oracle Cloud Infrastructure ([OCI][oci]) Networking Module\n\n---\n\u003e __Warning__\n\n$${\\color{red}This \\space is \\space a \\space pre-release \\space version \\space of \\space the \\space module, \\space some \\space features}$$\n$${\\color{red}have \\space not \\space been \\space migrated \\space from \\space MuShop's}$$\n$${\\color{red}OKE \\space Cluster \\space deployment \\space yet.}$$\n---\n\n[![Stack Release](https://img.shields.io/github/v/release/oracle-quickstart/terraform-oci-networking.svg)](https://github.com/oracle-quickstart/terraform-oci-networking/releases)\n[![Stack Build](https://img.shields.io/github/actions/workflow/status/oracle-quickstart/terraform-oci-networking/stack.yml?branch=main\u0026label=stack\u0026logo=oracle\u0026logoColor=red)][magic_oci_networking_stack]\n![AquaSec TFSec](https://img.shields.io/github/actions/workflow/status/oracle-quickstart/terraform-oci-networking/tfsec.yml?branch=main\u0026label=tfsec\u0026logo=aqua)\n![Terraform](https://img.shields.io/badge/terraform-\u003e%3D%201.1-%235835CC.svg?logo=terraform)\n[![Stack License](https://img.shields.io/github/license/oracle-quickstart/terraform-oci-networking)](https://github.com/oracle-quickstart/terraform-oci-networking/tree/main/LICENSE)\n![Stack Downloads](https://img.shields.io/github/downloads/oracle-quickstart/terraform-oci-networking/total?logo=terraform)\n[![GitHub issues](https://img.shields.io/github/issues/oracle-quickstart/terraform-oci-networking.svg)](https://github.com/oracle-quickstart/terraform-oci-networking/issues)\n\nTerraform module to Quickstart deploy network resources on OCI and to be reused by other projects. This module is designed to be used with the [OCI Resource Manager][oci_rm] to deploy a cluster in a single step. The module can also be used with the [OCI Terraform Provider][oci_tf_provider] to deploy a cluster using local or CloudShell Terraform cli.\n\n## Usage\n\nThere are multiple examples included in the [examples](https://github.com/oracle-quickstart/terraform-oci-networking/tree/main/examples) folder but simple usage is as follows:\n\n### Simple module usage\n\n```hcl\nmodule \"oci-networking\" {\n  source = \"github.com/oracle-quickstart/terraform-oci-networking?ref=0.3.2\"\n\n  # Oracle Cloud Infrastructure Tenancy and Compartment OCID\n  tenancy_ocid     = var.tenancy_ocid\n  compartment_ocid = var.compartment_ocid\n  region           = var.region\n\n  # Note: Just few arguments are showing here to simplify the basic example. All other arguments are using default values.\n  # App Name to identify deployment. Used for naming resources.\n  app_name = \"Basic\"\n\n  # Freeform Tags + Defined Tags. Tags are applied to all resources.\n  tag_values = { \"freeformTags\" = { \"Environment\" = \"Development\", \"DeploymentType\" = \"basic\", \"QuickstartExample\" = \"basic-vcn\" }, \"definedTags\" = {} }\n\n  subnets = [\n    {\n      subnet_name                = \"test_subnet\"\n      cidr_block                 = cidrsubnet(\"10.0.0.0/16\", 8, 35) # e.g.: \"10.0.35.0/24\" = 254 usable IPs (10.20.35.0 - 10.20.35.255)\n      display_name               = \"Test subnet (Basic)\"\n      dns_label                  = null\n      prohibit_public_ip_on_vnic = false\n      prohibit_internet_ingress  = false\n      route_table_id             = \"\"\n      dhcp_options_id            = \"\"\n      security_list_ids          = []\n      ipv6cidr_block             = null\n    },\n  ]\n}\n```\n\n### Separate each module usage\n\n```hcl\nmodule \"vcn\" {\n  source = \"github.com/oracle-quickstart/terraform-oci-networking//modules/vcn?ref=0.3.2\"\n\n  # Oracle Cloud Infrastructure Tenancy and Compartment OCID\n  compartment_ocid = var.compartment_ocid\n\n  # Deployment Tags + Freeform Tags + Defined Tags\n  vcn_tags = local.oci_tag_values\n\n  # Virtual Cloud Network (VCN) arguments\n  create_new_vcn          = true\n  existent_vcn_ocid       = \"\"\n  cidr_blocks             = [\"10.0.0.0/16\"]\n  display_name            = \"[Example] VCN (Dev)\"\n  dns_label               = \"example123\"\n  is_ipv6enabled          = false\n  ipv6private_cidr_blocks = []\n}\n\nmodule \"subnets\" {\n  for_each = { for map in local.subnets : map.subnet_name =\u003e map }\n  source   = \"github.com/oracle-quickstart/terraform-oci-networking//modules/subnet?ref=0.3.2\"\n\n  # Oracle Cloud Infrastructure Tenancy and Compartment OCID\n  compartment_ocid = var.compartment_ocid\n  vcn_id           = module.vcn.vcn_id\n\n  # Deployment Tags + Freeform Tags + Defined Tags\n  subnet_tags = local.oci_tag_values\n\n  # Subnet arguments\n  create_subnet              = true\n  subnet_name                = each.value.subnet_name\n  cidr_block                 = each.value.cidr_block\n  display_name               = each.value.display_name # If null, is autogenerated\n  dns_label                  = each.value.dns_label    # If null, is autogenerated\n  prohibit_public_ip_on_vnic = each.value.prohibit_public_ip_on_vnic\n  prohibit_internet_ingress  = each.value.prohibit_internet_ingress\n  route_table_id             = each.value.route_table_id    # If null, the VCN's default route table is used\n  dhcp_options_id            = each.value.dhcp_options_id   # If null, the VCN's default set of DHCP options is used\n  security_list_ids          = each.value.security_list_ids # If null, the VCN's default security list is used\n  ipv6cidr_block             = each.value.ipv6cidr_block    # If null, no IPv6 CIDR block is assigned\n}\n\nlocals {\n  oci_tag_values = {\n    \"freeformTags\" = {\"CreatedBy\" = \"Terraform\"},\n    \"definedTags\"  = {}\n  }\n  subnets = [\n    {\n      subnet_name                = \"test_subnet\"\n      cidr_block                 = cidrsubnet(\"10.0.0.0/16\", 8, 35) # e.g.: \"10.0.35.0/24\" = 254 usable IPs (10.20.35.0 - 10.20.35.255)\n      display_name               = \"Test subnet (Dev)\"\n      dns_label                  = \"\"\n      prohibit_public_ip_on_vnic = false\n      prohibit_internet_ingress  = false\n      route_table_id             = \"\" # module.route_tables[\"public\"].route_table_id\n      dhcp_options_id            = module.vcn.default_dhcp_options_id\n      security_list_ids          = [] # [module.security_lists[\"test_security_list\"].security_list_id]\n      ipv6cidr_block             = null\n    },\n  ]\n}\n```\n\n## How is this Terraform Module versioned?\n\nThis Terraform Module follows the principles of [Semantic Versioning](http://semver.org/). You can find each new release,\nalong with the changelog, in the [Releases Page](https://github.com/hashicorp/terraform-google-consul/releases).\n\nDuring initial development, the major version will be 0 (e.g., `0.x.y`), which indicates the code does not yet have a\nstable API. Once we hit `1.0.0`, we will make every effort to maintain a backwards compatible API and use the MAJOR,\nMINOR, and PATCH versions on each release to indicate any incompatibilities.\n\n## Questions\n\nIf you have an issue or a question, please take a look at our [FAQs](./FAQs.md) or [open an issue](https://github.com/oracle-quickstart/terraform-oci-networking/issues/new).\n\n## Contributing\n\nThis project welcomes contributions from the community. Before submitting a pull\nrequest, see [CONTRIBUTING](./CONTRIBUTING.md) for details.\n\n## License\n\nCopyright (c) 2022 Oracle and/or its affiliates.\nReleased under the Universal Permissive License (UPL), Version 1.0.\nSee [LICENSE](./LICENSE) for more details.\n\n[oci]: https://cloud.oracle.com/en_US/cloud-infrastructure\n[oci_rm]: https://docs.cloud.oracle.com/iaas/Content/ResourceManager/Concepts/resourcemanager.htm\n[oci_tf_provider]: https://www.terraform.io/docs/providers/oci/index.html\n[magic_button]: https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg\n[magic_oci_networking_stack]: https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-quickstart/terraform-oci-networking/releases/latest/download/terraform-oci-networking-stack.zip\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle-quickstart%2Fterraform-oci-networking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foracle-quickstart%2Fterraform-oci-networking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle-quickstart%2Fterraform-oci-networking/lists"}