diff --git a/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/LICENSE b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/LICENSE new file mode 100644 index 000000000..f5385ce4e --- /dev/null +++ b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/LICENSE @@ -0,0 +1,35 @@ +Copyright (c) 2025 Oracle and/or its affiliates. + +The Universal Permissive License (UPL), Version 1.0 + +Subject to the condition set forth below, permission is hereby granted to any +person obtaining a copy of this software, associated documentation and/or data +(collectively the "Software"), free of charge and under any and all copyright +rights in the Software, and any and all patent rights owned or freely +licensable by each licensor hereunder covering either (i) the unmodified +Software as contributed to or provided by such licensor, or (ii) the Larger +Works (as defined below), to deal in both + +(a) the Software, and +(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if +one is included with the Software (each a "Larger Work" to which the Software +is contributed by such licensors), + +without restriction, including without limitation the rights to copy, create +derivative works of, display, perform, and distribute the Software and make, +use, sell, offer for sale, import, export, have made, and have sold the +Software and the Larger Work(s), and to sublicense the foregoing rights on +either these or other terms. + +This license is subject to the following condition: +The above copyright notice and either this complete permission notice or at +a minimum a reference to the UPL must be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/README.md b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/README.md new file mode 100644 index 000000000..d038e291e --- /dev/null +++ b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/README.md @@ -0,0 +1,52 @@ +# Implement Multicloud cross-region disaster recovery for Oracle Database@X (Azure, GCP, AWS) + +This repository allows you to deploy all the needed networking for implementing cross-region disaster recovery in oracle database@X (AWS, Azure, Google Cloud). +It configures all the networking detailed in the following reference architectures: + +- [Implement cross-region disaster recovery for Exadata Database on Oracle Database@Azure](https://docs.oracle.com/en/solutions/exadb-dr-on-db-azure/index.html#GUID-A43C87C3-C331-415A-9951-86C454C8E9C3) +- [Implement cross-region disaster recovery for Exadata Database Service on Google Cloud](https://docs.oracle.com/en/solutions/exadb-dr-on-db-google-cloud/index.html#GUID-041B1ED9-43B8-41C3-90A6-1695668F7DB6) +- [Oracle Database@AWS Achieves Gold MAA Certification for Maximum Availability Architecture](https://blogs.oracle.com/maa/post/oracle-databaseaws-achieves-gold-maa-certification) + +## Architecture diagram + + + +## Requirements + +- An active Oracle Cloud Infrastructure Account. +- An Oracle Exadata Database@X deployment in primary region and Standby region +- API Key Authentication for OCI Terraform provider -> https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/terraformproviderconfiguration.htm +- Terraform +- Permission to manage virtual-network-family resources to a specific group within a compartment in your Oracle Cloud Infrastructure tenancy +- VCN primary and VCN Standby OCIDs +- Non-overlapping IP Addresses for Hub VCN Primary and Standby + +## Steps + +- Duplicate the "terraform.tfvars.template" file and rename it to "terraform.tfvars" +- In the new "terraform.tfvars" file complete the "OCI Tenancy Credentials" and "Oracle Cloud Infrastructure Variables" + +## Deployment + +Create the Resources using the following commands: + +```bash +terraform init +terraform import oci_core_vcn.vcn_primary ocid1.vcn.primary-xxxxxxxxxxxxx +terraform import oci_core_vcn.vcn_standby ocid1.vcn.standby-xxxxxxxxxxxxx +terraform plan +terraform apply +``` + +After successfully running terraform apply, the administrator should update the security lists and NSGs with the required ports, then complete the Data Guard association. + +Use the following command to destroy the deployment: + +```bash +terraform destroy +``` +## Acknowledgements + +* **Author** - Ricardo Anda, Oracle +* **Contributor** Ejaz Akram, Julien Silverston, Oracle +* **Last update** - August 12, 2025 \ No newline at end of file diff --git a/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/exadb-dr-db-azure.png b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/exadb-dr-db-azure.png new file mode 100644 index 000000000..3081b1d7a Binary files /dev/null and b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/exadb-dr-db-azure.png differ diff --git a/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/network-oci.tf b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/network-oci.tf new file mode 100644 index 000000000..035a5192c --- /dev/null +++ b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/network-oci.tf @@ -0,0 +1,322 @@ +############################## +# ------ Region Primary ---- # +############################## + +# ------ Create Hub VCN Primary +resource "oci_core_vcn" "hub_vcn_primary" { + provider = oci.region-primary + compartment_id = var.compartment_ocid + display_name = var.hub_vcn_primary_name + cidr_block = var.hub_vcn_primary_cidr_block +} + +# ------ Create Hub VCN Primary Transit DRG Route Table +resource "oci_core_route_table" "hub_vcn_primary_transit_drg_rt" { + provider = oci.region-primary + compartment_id = var.compartment_ocid + vcn_id = oci_core_vcn.hub_vcn_primary.id + display_name = var.hub_vcn_primary_transit_drg_rt_name + route_rules { + network_entity_id = oci_core_local_peering_gateway.hub_primary_local_peering_gateway.id + destination = var.vcn_primary_client_subnet + destination_type = "CIDR_BLOCK" + } +} + +# ------ Create Hub VCN Primary Transit LPG Route Table +resource "oci_core_route_table" "hub_vcn_primary_transit_lpg_rt" { + provider = oci.region-primary + compartment_id = var.compartment_ocid + vcn_id = oci_core_vcn.hub_vcn_primary.id + display_name = var.hub_vcn_primary_transit_drg_lpg_name + route_rules { + network_entity_id = oci_core_drg.primary_drg.id + destination = var.vcn_standby_client_subnet + destination_type = "CIDR_BLOCK" + } +} + +# ------ Create Hub Primary LPG +resource "oci_core_local_peering_gateway" "hub_primary_local_peering_gateway" { + provider = oci.region-primary + compartment_id = var.compartment_ocid + vcn_id = oci_core_vcn.hub_vcn_primary.id + display_name = var.hub_primary_local_peering_gateway_name + peer_id = oci_core_local_peering_gateway.primary_local_peering_gateway.id + route_table_id = oci_core_route_table.hub_vcn_primary_transit_lpg_rt.id +} + +# ------ Create VCN Primary and import configuration +resource "oci_core_vcn" "vcn_primary" { + provider = oci.region-primary + compartment_id = var.compartment_ocid +} + +# ------ Create Route in VCN Primary default RT to Standby Region +resource "oci_core_default_route_table" "vcn_primary_update_default_rt" { + provider = oci.region-primary + compartment_id = var.compartment_ocid + manage_default_resource_id = oci_core_vcn.vcn_primary.default_route_table_id + route_rules { + destination = var.vcn_standby_client_subnet + destination_type = "CIDR_BLOCK" + network_entity_id = oci_core_local_peering_gateway.primary_local_peering_gateway.id + } +} + +# ------ Create Primary LPG +resource "oci_core_local_peering_gateway" "primary_local_peering_gateway" { + provider = oci.region-primary + compartment_id = var.compartment_ocid + vcn_id = var.vcn_primary_ocid + display_name = var.primary_local_peering_gateway_name +} + +# ------ Create Primary DRG +resource "oci_core_drg" "primary_drg" { + provider = oci.region-primary + compartment_id = var.compartment_ocid + display_name = var.oci_primary_drg_name +} + +# ------ Create Primary DRG Hub VCN attachment +resource "oci_core_drg_attachment" "primary_drg_vcn_attachment" { + provider = oci.region-primary + vcn_id = oci_core_vcn.hub_vcn_primary.id + drg_id = oci_core_drg.primary_drg.id + drg_route_table_id = oci_core_drg_route_table.primary_drg_vcn_route_table.id + route_table_id = oci_core_route_table.hub_vcn_primary_transit_drg_rt.id + display_name = var.primary_drg_vcn_attachment_name +} + +# ------ Create Primary DRG VCN Route Table + +resource "oci_core_drg_route_table" "primary_drg_vcn_route_table" { + provider = oci.region-primary + display_name = var.primary_drg_vcn_route_table_name + drg_id = oci_core_drg.primary_drg.id + import_drg_route_distribution_id = oci_core_drg_route_distribution.primary_drg_route_distribution.id +} + +# ------ Create Primary DRG RPC Route Table + +resource "oci_core_drg_route_table" "primary_drg_rpc_route_table" { + provider = oci.region-primary + display_name = var.primary_drg_rpc_route_table_name + drg_id = oci_core_drg.primary_drg.id +} + +# ------ Create Primary DRG RPC Route Table rule + +resource "oci_core_drg_route_table_route_rule" "primary_drg_route_table_route_rule_primary_client_subnet" { + provider = oci.region-primary + drg_route_table_id = oci_core_drg_route_table.primary_drg_rpc_route_table.id + destination = var.vcn_primary_client_subnet + destination_type = "CIDR_BLOCK" + next_hop_drg_attachment_id = oci_core_drg_attachment.primary_drg_vcn_attachment.id +} + +# ------ Create Primary DRG Route Distribution + +resource "oci_core_drg_route_distribution" "primary_drg_route_distribution" { + provider = oci.region-primary + distribution_type = "IMPORT" + display_name = var.primary_drg_route_distribution_name + drg_id = oci_core_drg.primary_drg.id +} + +# ------ Create Primary DRG Route Distribution Statement for RPC + +resource "oci_core_drg_route_distribution_statement" "primary_drg_route_distribution_rpc" { + provider = oci.region-primary + drg_route_distribution_id = oci_core_drg_route_distribution.primary_drg_route_distribution.id + action = "ACCEPT" + match_criteria { + match_type = "DRG_ATTACHMENT_TYPE" + attachment_type = "REMOTE_PEERING_CONNECTION" + } + priority = "1" +} + +# ------ Create Primary DRG RPC + +resource "oci_core_remote_peering_connection" "primary_drg_remote_peering_connection" { + provider = oci.region-primary + compartment_id = var.compartment_ocid + drg_id = oci_core_drg.primary_drg.id + display_name = var.primary_drg_remote_peering_connection_name + peer_id = oci_core_remote_peering_connection.standby_drg_remote_peering_connection.id + peer_region_name = var.standby_region +} + +# ------ Modify Primary DRG RT for RPC + +resource "oci_core_drg_attachment_management" "primary_drg_rpc_attachment" { + provider = oci.region-primary + attachment_type = "REMOTE_PEERING_CONNECTION" + compartment_id = var.compartment_ocid + network_id = oci_core_remote_peering_connection.primary_drg_remote_peering_connection.id + drg_id = oci_core_drg.primary_drg.id + drg_route_table_id = oci_core_drg_route_table.primary_drg_rpc_route_table.id +} + +############################## +# ------ Region Standby ---- # +############################## + +# ------ Create Hub VCN Standby +resource "oci_core_vcn" "hub_vcn_standby" { + provider = oci.region-standby + compartment_id = var.compartment_ocid + display_name = var.hub_vcn_standby_name + cidr_block = var.hub_vcn_standby_cidr_block +} + +# ------ Create Hub VCN Standby Transit DRG Route Table +resource "oci_core_route_table" "hub_vcn_standby_transit_drg_rt" { + provider = oci.region-standby + compartment_id = var.compartment_ocid + vcn_id = oci_core_vcn.hub_vcn_standby.id + display_name = var.hub_vcn_standby_transit_drg_rt_name + route_rules { + network_entity_id = oci_core_local_peering_gateway.hub_standby_local_peering_gateway.id + destination = var.vcn_standby_client_subnet + destination_type = "CIDR_BLOCK" + } +} + +# ------ Create Hub VCN Standby Transit LPG Route Table +resource "oci_core_route_table" "hub_vcn_standby_transit_lpg_rt" { + provider = oci.region-standby + compartment_id = var.compartment_ocid + vcn_id = oci_core_vcn.hub_vcn_standby.id + display_name = var.hub_vcn_standby_transit_drg_lpg_name + route_rules { + network_entity_id = oci_core_drg.standby_drg.id + destination = var.vcn_primary_client_subnet + destination_type = "CIDR_BLOCK" + } +} + +# ------ Create Hub Standby LPG +resource "oci_core_local_peering_gateway" "hub_standby_local_peering_gateway" { + provider = oci.region-standby + compartment_id = var.compartment_ocid + vcn_id = oci_core_vcn.hub_vcn_standby.id + display_name = var.hub_standby_local_peering_gateway_name + peer_id = oci_core_local_peering_gateway.standby_local_peering_gateway.id + route_table_id = oci_core_route_table.hub_vcn_standby_transit_lpg_rt.id +} + +# ------ Create Standby LPG +resource "oci_core_local_peering_gateway" "standby_local_peering_gateway" { + provider = oci.region-standby + compartment_id = var.compartment_ocid + vcn_id = var.vcn_standby_ocid + display_name = var.standby_local_peering_gateway_name +} + +# ------ Create VCN Standby and import configuration +resource "oci_core_vcn" "vcn_standby" { + provider = oci.region-standby + compartment_id = var.compartment_ocid +} + +# ------ Create Route in VCN Standby default RT to Primary Region +resource "oci_core_default_route_table" "vcn_standby_update_default_rt" { + provider = oci.region-standby + compartment_id = var.compartment_ocid + manage_default_resource_id = oci_core_vcn.vcn_standby.default_route_table_id + route_rules { + destination = var.vcn_primary_client_subnet + destination_type = "CIDR_BLOCK" + network_entity_id = oci_core_local_peering_gateway.standby_local_peering_gateway.id + } +} + +# ------ Create Standby DRG +resource "oci_core_drg" "standby_drg" { + provider = oci.region-standby + compartment_id = var.compartment_ocid + display_name = var.oci_standby_drg_name +} + +# ------ Create Standby DRG Hub VCN attachment +resource "oci_core_drg_attachment" "standby_drg_vcn_attachment" { + provider = oci.region-standby + vcn_id = oci_core_vcn.hub_vcn_standby.id + drg_id = oci_core_drg.standby_drg.id + drg_route_table_id = oci_core_drg_route_table.standby_drg_vcn_route_table.id + route_table_id = oci_core_route_table.hub_vcn_standby_transit_drg_rt.id + display_name = var.standby_drg_vcn_attachment_name +} + + +# ------ Create Standby DRG VCN Route Table + +resource "oci_core_drg_route_table" "standby_drg_vcn_route_table" { + provider = oci.region-standby + display_name = var.standby_drg_vcn_route_table_name + drg_id = oci_core_drg.standby_drg.id + import_drg_route_distribution_id = oci_core_drg_route_distribution.standby_drg_route_distribution.id +} + +# ------ Create Standby DRG RPC Route Table + +resource "oci_core_drg_route_table" "standby_drg_rpc_route_table" { + provider = oci.region-standby + display_name = var.standby_drg_rpc_route_table_name + drg_id = oci_core_drg.standby_drg.id +} + +# ------ Create Standby DRG RPC Route Table rule + +resource "oci_core_drg_route_table_route_rule" "standby_drg_route_table_route_rule_primary_client_subnet" { + provider = oci.region-standby + drg_route_table_id = oci_core_drg_route_table.standby_drg_rpc_route_table.id + destination = var.vcn_standby_client_subnet + destination_type = "CIDR_BLOCK" + next_hop_drg_attachment_id = oci_core_drg_attachment.standby_drg_vcn_attachment.id +} + +# ------ Create Standby DRG Route Distribution + +resource "oci_core_drg_route_distribution" "standby_drg_route_distribution" { + provider = oci.region-standby + distribution_type = "IMPORT" + display_name = var.standby_drg_route_distribution_name + drg_id = oci_core_drg.standby_drg.id +} + +# ------ Create Standby DRG Route Distribution Statement for RPC + +resource "oci_core_drg_route_distribution_statement" "standby_drg_route_distribution_rpc" { + provider = oci.region-standby + drg_route_distribution_id = oci_core_drg_route_distribution.standby_drg_route_distribution.id + action = "ACCEPT" + match_criteria { + match_type = "DRG_ATTACHMENT_TYPE" + attachment_type = "REMOTE_PEERING_CONNECTION" + } + priority = "1" +} + +# ------ Create Standby DRG RPC + +resource "oci_core_remote_peering_connection" "standby_drg_remote_peering_connection" { + provider = oci.region-standby + compartment_id = var.compartment_ocid + drg_id = oci_core_drg.standby_drg.id + display_name = var.standby_drg_remote_peering_connection_name +} + +# ------ Modify Standby DRG RT for RPC + +resource "oci_core_drg_attachment_management" "standby_drg_rpc_attachment" { + provider = oci.region-standby + attachment_type = "REMOTE_PEERING_CONNECTION" + compartment_id = var.compartment_ocid + network_id = oci_core_remote_peering_connection.standby_drg_remote_peering_connection.id + drg_id = oci_core_drg.standby_drg.id + drg_route_table_id = oci_core_drg_route_table.standby_drg_rpc_route_table.id +} \ No newline at end of file diff --git a/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/providor.tf b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/providor.tf new file mode 100644 index 000000000..382d9169d --- /dev/null +++ b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/providor.tf @@ -0,0 +1,19 @@ +# ------ Initialize Oracle Terraform provider Primary Region +provider "oci" { + alias = "region-primary" + user_ocid = var.user_ocid + private_key_path = var.private_key_path + fingerprint = var.fingerprint + region = var.primary_region + tenancy_ocid = var.tenancy_ocid +} + +# ------ Initialize Oracle Terraform provider Standby Region +provider "oci" { + alias = "region-standby" + user_ocid = var.user_ocid + private_key_path = var.private_key_path + fingerprint = var.fingerprint + region = var.standby_region + tenancy_ocid = var.tenancy_ocid +} \ No newline at end of file diff --git a/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/terraform.tfvars.template b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/terraform.tfvars.template new file mode 100644 index 000000000..a4634a17f --- /dev/null +++ b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/terraform.tfvars.template @@ -0,0 +1,22 @@ +############################ +# OCI Tenancy Credentials # +############################ + +primary_region="xx-yyyyyy-a" # Region identifier https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm +standby_region="xz-yyyccc-b" # Region identifier https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm +user_ocid="ocid1.user.............." +tenancy_ocid="ocid1.tenancy............." +compartment_ocid="ocid1.compartment............." +fingerprint="XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX" +private_key_path= "xxxxxxxxxxxx.pem" + +########################################### +# Oracle Cloud Infrastructure Variables # +########################################### + +hub_vcn_primary_cidr_block = "X.X.Z.Z/X" +hub_vcn_standby_cidr_block = "X.X.B.B/X" +vcn_primary_ocid = "ocid1.vcn.xxxxxxxxxxxxx" +vcn_standby_ocid = "ocid1.vcn.yyyyyyyyyyyyy" +vcn_primary_client_subnet = "X.X.X.X/X" +vcn_standby_client_subnet = "X.X.Y.Y/X" \ No newline at end of file diff --git a/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/variables.tf b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/variables.tf new file mode 100644 index 000000000..17e3b055f --- /dev/null +++ b/cloud-infrastructure/networking/multicloud/cross-region-dr-od@x/files/variables.tf @@ -0,0 +1,171 @@ +############################ +# OCI Tenancy Credentials # +############################ +variable "tenancy_ocid" { + description = "User Tenancy OCID" +} + +variable "compartment_ocid" { + description = "User Compartment OCID" +} + +variable "primary_region" { + description = "User Primary Region Value" +} + +variable "standby_region" { + description = "User Standby Region Value" +} + + +variable "user_ocid" { + description = "User OCID" +} + +variable "fingerprint" { + description = "User Private Key Fingerprint" +} + +variable "private_key_path" { + description = "User Private Key Path" +} + +########################################### +# Oracle Cloud Infrastructure Variables # +########################################### + +variable "hub_vcn_primary_name" { + description = "Hub VCN Primary name" + default = "hub_vcn_primary" +} + +variable "hub_vcn_primary_cidr_block" { + description = "Hub VCN Primary CIDR" + default = "10.15.0.0/24" +} + +variable "hub_vcn_primary_transit_drg_rt_name" { + description = "Hub VCN Primary Transit DRG RT name" + default = "hub_vcn_primary_transit_drg_rt" +} + +variable "hub_vcn_primary_transit_drg_lpg_name" { + description = "Hub VCN Primary Transit LPG RT name" + default = "hub_vcn_primary_transit_lpg_rt" +} + +variable "vcn_primary_ocid" { + description = "VCN Primary ocid" +} + +variable "vcn_primary_client_subnet" { + description = "VCN Primary Client Subnet" +} + +variable "vcn_standby_client_subnet" { + description = "VCN Standby Client Subnet" +} + +variable "hub_primary_local_peering_gateway_name" { + description = "Hub Primary Local Peering Gateway name " + default = "hub_primary_lpg" +} + +variable "primary_local_peering_gateway_name" { + description = "Primary Local Peering Gateway name " + default = "primary_lpg" +} + +variable "oci_primary_drg_name" { + description = "Primary DRG name" + default = "primary_drg" +} + +variable "primary_drg_vcn_attachment_name" { + description = "Primary DRG Hub VCN attachment name" + default = "primary_drg_hub_vcn_att" +} + +variable "hub_vcn_standby_name" { + description = "Hub VCN Standby name" + default = "hub_vcn_standby" +} + +variable "hub_vcn_standby_cidr_block" { + description = "Hub VCN Standby CIDR" + default = "10.16.0.0/24" +} + +variable "hub_vcn_standby_transit_drg_rt_name" { + description = "Hub VCN Standby Transit DRG RT name" + default = "hub_vcn_standby_transit_drg_rt" +} + +variable "hub_vcn_standby_transit_drg_lpg_name" { + description = "Hub VCN Standby Transit LPG RT name" + default = "hub_vcn_standby_transit_lpg_rt" +} + +variable "vcn_standby_ocid" { + description = "VCN Standby ocid" +} + +variable "hub_standby_local_peering_gateway_name" { + description = "Hub Standby Local Peering Gateway name " + default = "hub_standby_lpg" +} + +variable "standby_local_peering_gateway_name" { + description = "Standby Local Peering Gateway name " + default = "standby_lpg" +} + +variable "oci_standby_drg_name" { + description = "Standby DRG name" + default = "standby_drg" +} + +variable "standby_drg_vcn_attachment_name" { + description = "Standby DRG Hub VCN attachment name" + default = "standby_drg_hub_vcn_att" +} + +variable "primary_drg_vcn_route_table_name" { + description = "Primary DRG VCN RT name" + default = "primary_drg_vcn_rt" +} + +variable "primary_drg_rpc_route_table_name" { + description = "Primary DRG RPC RT name" + default = "primary_drg_rpc_rt" +} + +variable "standby_drg_vcn_route_table_name" { + description = "Standby DRG VCN RT name" + default = "standby_drg_vcn_rt" +} + +variable "standby_drg_rpc_route_table_name" { + description = "Standby DRG RPC RT name" + default = "standby_drg_rpc_rt" +} + +variable "primary_drg_route_distribution_name" { + description = "Primary DRG Route Distribution name" + default = "primary_drg_rd" +} + +variable "primary_drg_remote_peering_connection_name" { + description = "Primary DRG Remote Peering Connection name" + default = "primary_drg_rpc" +} + +variable "standby_drg_route_distribution_name" { + description = "Standby DRG Route Distribution name" + default = "standby_drg_rd" +} + +variable "standby_drg_remote_peering_connection_name" { + description = "Standby DRG Remote Peering Connection name" + default = "standby_drg_rpc" +} \ No newline at end of file