Skip to content
This repository has been archived by the owner on May 15, 2023. It is now read-only.

Commit

Permalink
Add support for google_compute_address (#5483) (#406)
Browse files Browse the repository at this point in the history
* Add support for google_compute_address

* add test data files

Signed-off-by: Modular Magician <magic-modules@google.com>
  • Loading branch information
modular-magician authored Nov 24, 2021
1 parent 9c79072 commit 4e2b4d5
Show file tree
Hide file tree
Showing 6 changed files with 369 additions and 0 deletions.
1 change: 1 addition & 0 deletions converters/google/resources/resource_converters.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ package google
// N:1 = [ResourceConverter{Convert: convertAbc, merge: mergeAbc}] (len=1)
func ResourceConverters() map[string][]ResourceConverter {
return map[string][]ResourceConverter{
"google_compute_address": {resourceConverterComputeAddress()},
"google_compute_firewall": {resourceConverterComputeFirewall()},
"google_compute_disk": {resourceConverterComputeDisk()},
"google_compute_forwarding_rule": {resourceConverterComputeForwardingRule()},
Expand Down
1 change: 1 addition & 0 deletions test/cli_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ func TestCLI(t *testing.T) {
{name: "example_bigtable_instance"},
{name: "example_cloud_run_mapping"},
{name: "example_cloud_run_service"},
{name: "example_compute_address"},
{name: "example_compute_disk"},
{name: "example_compute_disk_empty_image"},
{name: "example_compute_firewall"},
Expand Down
1 change: 1 addition & 0 deletions test/read_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ func TestReadPlannedAssetsCoverage(t *testing.T) {
{name: "example_bigtable_instance"},
{name: "example_cloud_run_mapping"},
{name: "example_cloud_run_service"},
{name: "example_compute_address"},
{name: "example_compute_disk"},
{name: "example_compute_disk_empty_image"},
{name: "example_compute_firewall"},
Expand Down
53 changes: 53 additions & 0 deletions testdata/templates/example_compute_address.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
[
{
"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": "v1",
"discovery_document_uri": "https://www.googleapis.com/discovery/v1/apis/compute/v1/rest",
"discovery_name": "Network",
"parent": "//cloudresourcemanager.googleapis.com/projects/{{.Provider.project}}",
"data": {
"autoCreateSubnetworks": true,
"name": "my-network"
}
}
},
{
"name": "//compute.googleapis.com/projects/{{.Provider.project}}/regions/us-central1/addresses/my-internal-address",
"asset_type": "compute.googleapis.com/Address",
"ancestry_path": "{{.Ancestry}}/project/{{.Provider.project}}",
"resource": {
"version": "v1",
"discovery_document_uri": "https://www.googleapis.com/discovery/v1/apis/compute/v1/rest",
"discovery_name": "Address",
"parent": "//cloudresourcemanager.googleapis.com/projects/{{.Provider.project}}",
"data": {
"address": "10.0.42.42",
"addressType": "INTERNAL",
"name": "my-internal-address",
"region": "projects/{{.Provider.project}}/global/regions/us-central1"
}
}
},
{
"name": "//compute.googleapis.com/projects/{{.Provider.project}}/regions/us-central1/subnetworks/my-subnet",
"asset_type": "compute.googleapis.com/Subnetwork",
"ancestry_path": "{{.Ancestry}}/project/{{.Provider.project}}",
"resource": {
"version": "v1",
"discovery_document_uri": "https://www.googleapis.com/discovery/v1/apis/compute/v1/rest",
"discovery_name": "Subnetwork",
"parent": "//cloudresourcemanager.googleapis.com/projects/{{.Provider.project}}",
"data": {
"ipCidrRange": "10.0.0.0/16",
"logConfig": {
"enable": false
},
"name": "my-subnet",
"region": "projects/{{.Provider.project}}/global/regions/us-central1"
}
}
}
]
47 changes: 47 additions & 0 deletions testdata/templates/example_compute_address.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/**
* Copyright 2021 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"
version = "~> {{.Provider.version}}"
}
}
}

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

resource "google_compute_network" "default" {
name = "my-network"
}

resource "google_compute_subnetwork" "default" {
name = "my-subnet"
ip_cidr_range = "10.0.0.0/16"
region = "us-central1"
network = google_compute_network.default.id
}

resource "google_compute_address" "internal_with_subnet_and_address" {
name = "my-internal-address"
subnetwork = google_compute_subnetwork.default.id
address_type = "INTERNAL"
address = "10.0.42.42"
region = "us-central1"
}
266 changes: 266 additions & 0 deletions testdata/templates/example_compute_address.tfplan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,266 @@
{
"format_version": "0.2",
"terraform_version": "1.0.10",
"planned_values": {
"root_module": {
"resources": [
{
"address": "google_compute_address.internal_with_subnet_and_address",
"mode": "managed",
"type": "google_compute_address",
"name": "internal_with_subnet_and_address",
"provider_name": "registry.terraform.io/hashicorp/google",
"schema_version": 0,
"values": {
"address": "10.0.42.42",
"address_type": "INTERNAL",
"description": null,
"name": "my-internal-address",
"network": null,
"prefix_length": null,
"region": "us-central1",
"timeouts": null
},
"sensitive_values": {
"users": []
}
},
{
"address": "google_compute_network.default",
"mode": "managed",
"type": "google_compute_network",
"name": "default",
"provider_name": "registry.terraform.io/hashicorp/google",
"schema_version": 0,
"values": {
"auto_create_subnetworks": true,
"delete_default_routes_on_create": false,
"description": null,
"name": "my-network",
"timeouts": null
},
"sensitive_values": {}
},
{
"address": "google_compute_subnetwork.default",
"mode": "managed",
"type": "google_compute_subnetwork",
"name": "default",
"provider_name": "registry.terraform.io/hashicorp/google",
"schema_version": 0,
"values": {
"description": null,
"ip_cidr_range": "10.0.0.0/16",
"ipv6_access_type": null,
"log_config": [],
"name": "my-subnet",
"private_ip_google_access": null,
"region": "us-central1",
"role": null,
"timeouts": null
},
"sensitive_values": {
"log_config": [],
"secondary_ip_range": []
}
}
]
}
},
"resource_changes": [
{
"address": "google_compute_address.internal_with_subnet_and_address",
"mode": "managed",
"type": "google_compute_address",
"name": "internal_with_subnet_and_address",
"provider_name": "registry.terraform.io/hashicorp/google",
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"address": "10.0.42.42",
"address_type": "INTERNAL",
"description": null,
"name": "my-internal-address",
"network": null,
"prefix_length": null,
"region": "us-central1",
"timeouts": null
},
"after_unknown": {
"creation_timestamp": true,
"id": true,
"network_tier": true,
"project": true,
"purpose": true,
"self_link": true,
"subnetwork": true,
"users": true
},
"before_sensitive": false,
"after_sensitive": {
"users": []
}
}
},
{
"address": "google_compute_network.default",
"mode": "managed",
"type": "google_compute_network",
"name": "default",
"provider_name": "registry.terraform.io/hashicorp/google",
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"auto_create_subnetworks": true,
"delete_default_routes_on_create": false,
"description": null,
"name": "my-network",
"timeouts": null
},
"after_unknown": {
"gateway_ipv4": true,
"id": true,
"mtu": true,
"project": true,
"routing_mode": true,
"self_link": true
},
"before_sensitive": false,
"after_sensitive": {}
}
},
{
"address": "google_compute_subnetwork.default",
"mode": "managed",
"type": "google_compute_subnetwork",
"name": "default",
"provider_name": "registry.terraform.io/hashicorp/google",
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"description": null,
"ip_cidr_range": "10.0.0.0/16",
"ipv6_access_type": null,
"log_config": [],
"name": "my-subnet",
"private_ip_google_access": null,
"region": "us-central1",
"role": null,
"timeouts": null
},
"after_unknown": {
"creation_timestamp": true,
"external_ipv6_prefix": true,
"fingerprint": true,
"gateway_address": true,
"id": true,
"ipv6_cidr_range": true,
"log_config": [],
"network": true,
"private_ipv6_google_access": true,
"project": true,
"purpose": true,
"secondary_ip_range": true,
"self_link": true,
"stack_type": true
},
"before_sensitive": false,
"after_sensitive": {
"log_config": [],
"secondary_ip_range": []
}
}
}
],
"configuration": {
"provider_config": {
"google": {
"name": "google",
"expressions": {
"project": {
"constant_value": "{{.Provider.project}}"
}
}
}
},
"root_module": {
"resources": [
{
"address": "google_compute_address.internal_with_subnet_and_address",
"mode": "managed",
"type": "google_compute_address",
"name": "internal_with_subnet_and_address",
"provider_config_key": "google",
"expressions": {
"address": {
"constant_value": "10.0.42.42"
},
"address_type": {
"constant_value": "INTERNAL"
},
"name": {
"constant_value": "my-internal-address"
},
"region": {
"constant_value": "us-central1"
},
"subnetwork": {
"references": [
"google_compute_subnetwork.default.id",
"google_compute_subnetwork.default"
]
}
},
"schema_version": 0
},
{
"address": "google_compute_network.default",
"mode": "managed",
"type": "google_compute_network",
"name": "default",
"provider_config_key": "google",
"expressions": {
"name": {
"constant_value": "my-network"
}
},
"schema_version": 0
},
{
"address": "google_compute_subnetwork.default",
"mode": "managed",
"type": "google_compute_subnetwork",
"name": "default",
"provider_config_key": "google",
"expressions": {
"ip_cidr_range": {
"constant_value": "10.0.0.0/16"
},
"name": {
"constant_value": "my-subnet"
},
"network": {
"references": [
"google_compute_network.default.id",
"google_compute_network.default"
]
},
"region": {
"constant_value": "us-central1"
}
},
"schema_version": 0
}
]
}
}
}

0 comments on commit 4e2b4d5

Please sign in to comment.