Giter VIP home page Giter VIP logo

terraform-ibm-transit-gateway's Introduction

IBM Cloud Transit Gateway - Terraform Module

Graduated (Supported) semantic-release pre-commit latest release Renovate enabled

With IBM Cloud® Transit Gateway, you can create single or multiple transit gateways to connect VPCs. You can also connect your IBM Cloud classic infrastructure to a transit gateway to provide seamless communication with classic infrastructure resources. Any new network that you connect to a transit gateway is then made available to every other network connected to it. For more information, see About IBM Cloud Transit Gateway in the IBM Cloud docs.

This module includes the terraform-ibm-transit-gateway-action approval action submodule that supports approving or rejecting connection requests in cross-account VPC connections.

Overview

terraform-ibm-transit-gateway

Usage

data "ibm_resource_group" "resource_group" {
  name = "resource_group_name"
}

module "tg_gateway_connection" {
  source                    = "terraform-ibm-modules/transit-gateway/ibm"
  version                   = "X.X.X" # Replace "X.X.X" with a release version to lock into a specific release
  transit_gateway_name      = "transit gateway name"
  location                  = "eu-de"
  global_routing            = true
  tags                      = ["tag1", "tag2"]
  resource_group_id         = data.ibm_resource_group.resource_group.id
  vpc_connections           = ["crn:v1:bluemix:public:is:eu-de:a/7aa6f7b185f2e3170fac9919aa1769ee::vpc:r010-a9fdc623-d702-4381-a116-07546dba1b87","crn:v1:bluemix:public:is:eu-de:a/7aa6f7b185f2e3170fac9919aa1769ee::vpc:r010-4c39039d-e7ef-411d-a191-3cb549dc41a1"]
  classic_connections_count = false
}

Requirements

Name Version
terraform >= 1.0.0
ibm >= 1.52.0, < 2.0.0

Modules

No modules.

Resources

Name Type
ibm_tg_connection.classic_connections resource
ibm_tg_connection.vpc_connections resource
ibm_tg_gateway.tg_gw_instance resource
ibm_tg_gateway.existing_tg_gw_instance data source

Inputs

Name Description Type Default Required
classic_connections_count Number of classic connections to add. number n/a yes
delete_timeout Deleting timeout value of the ibm_tg_gateway string "45m" no
existing_transit_gateway_name Name of an existing transit gateway to connect VPCs. If null a new Transit Gateway will be created (transit_gateway_name and region required) string null no
global_routing Gateways with global routing (true) to connect to the networks outside their associated region bool false no
region The IBM Cloud region where all resources are provisioned. It can be null if existing_transit_gateway_name is not null string null no
resource_group_id Resource group ID where the transit gateway to be created. string null no
resource_tags List of tags list(string) null no
transit_gateway_name Name of the transit gateway to create. It can be null if existing_transit_gateway_name is not null string null no
vpc_connections The list of vpc instance resource_crn to add network connections for. list(string) n/a yes

Outputs

Name Description
classic_conn_ids List of classic connection IDs
tg_crn CRN of the gateway
tg_id The ID of the transit gateway
vpc_conn_ids List of VPC connection IDs

Contributing

To set up your local development environment, see Local development setup in the project documentation.

terraform-ibm-transit-gateway's People

Contributors

aayush-abhyarthi avatar akocbek avatar daniel-butler-irl avatar dishankkalra23 avatar iamar7 avatar jojustin avatar khuzaima05 avatar kierramarie avatar marifse avatar mounika-nalla avatar ocofaigh avatar sirspidey avatar terraform-ibm-modules-ops avatar umarali-nagoor avatar vbontempi avatar vburckhardt avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

terraform-ibm-transit-gateway's Issues

Checkov failure in pipeline

Possibly related to old cache?

Checkov..................................................................Failed
- hook id: terraform_checkov
- exit code: 127

/github/home/.cache/pre-commit/repoo12t_qf6/hooks/terraform_checkov.sh: line 61: checkov: command not found

[terraform-ibm-transit-gateway] Set up and re-enable cross account test

The cross account test was using an account that has been deleted, so in #446 the test was disabled to unblock the pipeline.

We need to re-enable this test, but lets consider the best way to do this. Perhaps we have the test create an enterprise sub account and a VPC inside it every time, but in order to do this we would need the ability to use an apikey from the newly created subaccount. Something that is being looked into as a feature in Q1 2024.

In the meantime, do we just create a new account for this test that has a VPC in it ready to go? Is there any account we already have that we can re-use?

Support for attaching VPCs to existing transit gateway (across accounts)

Description

Add support for attaching VPC(s) for another account in an existing transit gateway.
Note that there is a step where the connection must be accepted from the target account. Such support to accept connection does not appear to exist in the ibm terraform provider as of now - so there may be the need to work with the provider team to add such (IBM-Cloud/terraform-provider-ibm#4347) - and potentially add a call via the restapi provider to the https://cloud.ibm.com/apidocs/transit-gateway#create-transit-gateway-connection-actions as a stop gap solution.

New or affected modules


By submitting this issue, you agree to follow our Code of Conduct

Bump delete timeout on ibm_tg_gateway

Description

As per service team: Usual deletion target is in the 10-20 minute range... in this case there was a dependent service that did some maintenance which caused delete delays in a handful of regions and this customer happened to hit most of them"

Perhaps set the delete timeout on the resource to 45 minutes as a start

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.