Terraform module which creates GCP resources to bring them into DoubleCloud.
module "byoc" {
source = "doublecloud/doublecloud-byoc/gcp"
project_id = var.gcp_project_id
project_name = var.gcp_project_name
create_project = true
billing_account = var.gcp_billing_account
activate_google_apis = true
folder_id = var.gcp_folder_id
network_name = "doublecloud"
region = var.region
subnetwork_name = "dc-${var.region}"
ipv4_cidr = "192.168.42.0/24"
role_id = "dc-byoc"
role_title = "DoubleCloud BYOC"
service_account_id = "dc-byoc"
service_account_display_name = "DoubleCloud BYOC"
}
resource "doublecloud_network" "gcp" {
project_id = var.project_id
name = "my-aws-network"
region_id = module.byoc.region_id
cloud_type = "gcp"
gcp = {
network_name = module.byoc.network_name
subnetwork_name = module.byoc.subnetwork_name
project_name = module.byoc.project_name
service_account_email = module.byoc.service_account_email
}
}| Name | Version |
|---|---|
| terraform | >= 1.2.6 |
| >= 4.44.1 | |
| time | >= 0.9.1 |
| Name | Version |
|---|---|
| >= 4.44.1 | |
| time | >= 0.9.1 |
No modules.
| Name | Type |
|---|---|
| google_compute_network.doublecloud | resource |
| google_compute_subnetwork.byoc | resource |
| google_project.project | resource |
| google_project_iam_custom_role.byoc | resource |
| google_project_iam_member.byoc | resource |
| google_project_service.apis | resource |
| google_service_account.byoc | resource |
| google_service_account_iam_policy.byoc | resource |
| time_sleep.avoid_gcp_race | resource |
| google_iam_policy.access_control | data source |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| activate_google_apis | Activate Google APIs or not | bool |
true |
no |
| billing_account | Billing account where new project should be attached | string |
"" |
no |
| create_project | Create new project for DoubleCloud | bool |
true |
no |
| double_cloud_control_plane_service_account_email | leave as default | string |
"controlplane@byoa-doublecloud.iam.gserviceaccount.com" |
no |
| folder_id | Folder ID where new project should be created | string |
null |
no |
| ipv4_cidr | Valid IPv4 CIDR block for VPC | string |
"10.10.0.0/16" |
no |
| network_name | Network name where create resources | string |
n/a | yes |
| project_id | Project ID where to create resources | string |
n/a | yes |
| project_name | Display name for a new project | string |
"" |
no |
| region | Region where create resources | string |
n/a | yes |
| role_id | The camel case role ID to create | string |
n/a | yes |
| role_title | A human-readable title for the role | string |
n/a | yes |
| service_account_display_name | Display name for service account | string |
n/a | yes |
| service_account_id | Service account ID | string |
n/a | yes |
| subnetwork_name | Subnetwork name where create resources | string |
n/a | yes |
| Name | Description |
|---|---|
| network_name | Name of the created Network. DoubleCloud resources will be created in this Network. |
| project_name | GCP project ID where resources will be created. |
| region_id | GCP Region where resources will be created. |
| service_account_email | Email of the Service Account that has permissions to create resources in the project. |
| subnetwork_name | Name of the created Subnetwork. DoubleCloud resources will be created in this Subnetwork. |