Skip to content

Commit

Permalink
Add support for google_compute_router to TGC (#10585)
Browse files Browse the repository at this point in the history
  • Loading branch information
delimaneto committed May 16, 2024
1 parent 0858475 commit 8d00717
Show file tree
Hide file tree
Showing 3 changed files with 119 additions and 9 deletions.
19 changes: 10 additions & 9 deletions mmv1/templates/tgc/resource_converters.go.erb
Original file line number Diff line number Diff line change
Expand Up @@ -37,27 +37,28 @@ func ResourceConverters() map[string][]cai.ResourceConverter {
return map[string][]cai.ResourceConverter{
"google_artifact_registry_repository": {artifactregistry.ResourceConverterArtifactRegistryRepository()},
"google_compute_address": {compute.ResourceConverterComputeAddress()},
"google_compute_autoscaler": {compute.ResourceConverterComputeAutoscaler()},
"google_compute_autoscaler": {compute.ResourceConverterComputeAutoscaler()},
"google_compute_firewall": {compute.ResourceConverterComputeFirewall()},
"google_compute_disk": {compute.ResourceConverterComputeDisk()},
"google_compute_forwarding_rule": {compute.ResourceConverterComputeForwardingRule()},
"google_compute_global_address": {compute.ResourceConverterComputeGlobalAddress()},
"google_compute_global_forwarding_rule": {compute.ResourceConverterComputeGlobalForwardingRule()},
"google_compute_health_check": {compute.ResourceConverterComputeHealthCheck()},
"google_compute_instance": {compute.ResourceConverterComputeInstance()},
"google_compute_network": {compute.ResourceConverterComputeNetwork()},
"google_compute_node_template": {compute.ResourceConverterComputeNodeTemplate()},
"google_compute_route": {compute.ResourceConverterComputeRoute()},
"google_compute_network": {compute.ResourceConverterComputeNetwork()},
"google_compute_node_template": {compute.ResourceConverterComputeNodeTemplate()},
"google_compute_route": {compute.ResourceConverterComputeRoute()},
"google_compute_router": {compute.ResourceConverterComputeRouter()},
"google_compute_vpn_tunnel": {compute.ResourceConverterComputeVpnTunnel()},
"google_compute_resource_policy": {compute.ResourceConverterComputeResourcePolicy()},
"google_compute_resource_policy": {compute.ResourceConverterComputeResourcePolicy()},
"google_compute_security_policy": {resourceConverterComputeSecurityPolicy()},
"google_compute_snapshot": {compute.ResourceConverterComputeSnapshot()},
"google_compute_subnetwork": {compute.ResourceConverterComputeSubnetwork()},
"google_compute_ssl_policy": {compute.ResourceConverterComputeSslPolicy()},
"google_compute_target_http_proxy": {compute.ResourceConverterComputeTargetHttpProxy()},
"google_compute_target_http_proxy": {compute.ResourceConverterComputeTargetHttpProxy()},
"google_compute_target_https_proxy": {compute.ResourceConverterComputeTargetHttpsProxy()},
"google_compute_target_ssl_proxy": {compute.ResourceConverterComputeTargetSslProxy()},
"google_dataproc_autoscaling_policy": {dataproc.ResourceConverterDataprocAutoscalingPolicy()},
"google_dataproc_autoscaling_policy": {dataproc.ResourceConverterDataprocAutoscalingPolicy()},
"google_dns_managed_zone": {dns.ResourceConverterDNSManagedZone()},
"google_dns_policy": {dns.ResourceConverterDNSPolicy()},
"google_kms_key_ring_import_job": {kms.ResourceConverterKMSKeyRingImportJob()},
Expand All @@ -84,7 +85,7 @@ func ResourceConverters() map[string][]cai.ResourceConverter {
"google_spanner_instance_iam_binding": {spanner.ResourceConverterSpannerInstanceIamBinding()},
"google_spanner_instance_iam_member": {spanner.ResourceConverterSpannerInstanceIamMember()},
"google_project_service": {resourceConverterServiceUsage()},
"google_secret_manager_secret_version": {secretmanager.ResourceConverterSecretManagerSecretVersion()},
"google_secret_manager_secret_version": {secretmanager.ResourceConverterSecretManagerSecretVersion()},
"google_pubsub_lite_reservation": {pubsublite.ResourceConverterPubsubLiteReservation()},
"google_pubsub_lite_subscription": {pubsublite.ResourceConverterPubsubLiteSubscription()},
"google_pubsub_lite_topic": {pubsublite.ResourceConverterPubsubLiteTopic()},
Expand All @@ -96,7 +97,7 @@ func ResourceConverters() map[string][]cai.ResourceConverter {
"google_storage_bucket_iam_policy": {resourceConverterStorageBucketIamPolicy()},
"google_storage_bucket_iam_binding": {resourceConverterStorageBucketIamBinding()},
"google_storage_bucket_iam_member": {resourceConverterStorageBucketIamMember()},
"google_cloud_tasks_queue": {cloudtasks.ResourceConverterCloudTasksQueue()},
"google_cloud_tasks_queue": {cloudtasks.ResourceConverterCloudTasksQueue()},
"google_pubsub_topic": {pubsub.ResourceConverterPubsubTopic()},
"google_kms_crypto_key": {kms.ResourceConverterKMSCryptoKey()},
"google_kms_key_ring": {kms.ResourceConverterKMSKeyRing()},
Expand Down
59 changes: 59 additions & 0 deletions mmv1/third_party/tgc/tests/data/example_google_compute_router.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
[
{
"name": "//compute.googleapis.com/projects/{{.Provider.project}}/global/networks/my-network",
"asset_type": "compute.googleapis.com/Network",
"ancestry_path": "{{.Ancestry}}/project/{{.Provider.project}}",
"resource": {
"version": "beta",
"discovery_document_uri": "https://www.googleapis.com/discovery/v1/apis/compute/beta/rest",
"discovery_name": "Network",
"parent": "//cloudresourcemanager.googleapis.com/projects/{{.Provider.project}}",
"data": {
"autoCreateSubnetworks": false,
"name": "my-network",
"networkFirewallPolicyEnforcementOrder": "AFTER_CLASSIC_FIREWALL"
}
},
"ancestors": [
"organizations/{{.OrgID}}"
]
},
{
"name": "//compute.googleapis.com/projects/{{.Provider.project}}/regions/us-east1/routers/my-router",
"asset_type": "compute.googleapis.com/Router",
"ancestry_path": "{{.Ancestry}}/project/{{.Provider.project}}",
"resource": {
"version": "beta",
"discovery_document_uri": "https://www.googleapis.com/discovery/v1/apis/compute/beta/rest",
"discovery_name": "Router",
"parent": "//cloudresourcemanager.googleapis.com/projects/{{.Provider.project}}",
"data": {
"bgp": {
"advertiseMode": "CUSTOM",
"advertisedGroups": [
"ALL_SUBNETS"
],
"advertisedIpRanges": [
{
"description": "",
"range": "1.2.3.4"
},
{
"description": "",
"range": "6.7.0.0/16"
}
],
"asn": 64514,
"keepaliveInterval": 20
},
"description": "",
"name": "my-router",
"network": "projects/{{.Provider.project}}/global/networks/my-network",
"region": "projects/{{.Provider.project}}/global/regions/us-east1"
}
},
"ancestors": [
"organizations/{{.OrgID}}"
]
}
]
50 changes: 50 additions & 0 deletions mmv1/third_party/tgc/tests/data/example_google_compute_router.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/**
* Copyright 2019 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

terraform {
required_providers {
google = {
source = "hashicorp/google-beta"
version = "~> {{.Provider.version}}"
}
}
}

provider "google" {
{{if .Provider.credentials }}credentials = "{{.Provider.credentials}}"{{end}}
}

resource "google_compute_router" "foobar" {
name = "my-router"
region = "us-east1"
network = google_compute_network.foobar.name
bgp {
asn = 64514
advertise_mode = "CUSTOM"
advertised_groups = ["ALL_SUBNETS"]
advertised_ip_ranges {
range = "1.2.3.4"
}
advertised_ip_ranges {
range = "6.7.0.0/16"
}
}
}

resource "google_compute_network" "foobar" {
name = "my-network"
auto_create_subnetworks = false
}

0 comments on commit 8d00717

Please sign in to comment.