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_dns_policy (#5487) (#408)
Browse files Browse the repository at this point in the history
* Add support for google_dns_policy

* add test data files

Signed-off-by: Modular Magician <magic-modules@google.com>
  • Loading branch information
modular-magician authored Nov 24, 2021
1 parent 4d31a15 commit 16f4273
Show file tree
Hide file tree
Showing 6 changed files with 453 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 @@ -35,6 +35,7 @@ func ResourceConverters() map[string][]ResourceConverter {
"google_compute_subnetwork": {resourceConverterComputeSubnetwork()},
"google_compute_ssl_policy": {resourceConverterComputeSslPolicy()},
"google_dns_managed_zone": {resourceConverterDNSManagedZone()},
"google_dns_policy": {resourceConverterDNSPolicy()},
"google_storage_bucket": {resourceConverterStorageBucket()},
"google_sql_database_instance": {resourceConverterSQLDatabaseInstance()},
"google_container_cluster": {resourceConverterContainerCluster()},
Expand Down
1 change: 1 addition & 0 deletions test/cli_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ func TestCLI(t *testing.T) {
{name: "example_compute_subnetwork"},
{name: "example_container_cluster"},
{name: "example_dns_managed_zone"},
{name: "example_dns_policy"},
{name: "example_filestore_instance"},
{name: "example_kms_crypto_key"},
{name: "example_kms_crypto_key_iam_binding"},
Expand Down
1 change: 1 addition & 0 deletions test/read_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ func TestReadPlannedAssetsCoverage(t *testing.T) {
{name: "example_compute_subnetwork"},
{name: "example_container_cluster"},
{name: "example_dns_managed_zone"},
{name: "example_dns_policy"},
{name: "example_filestore_instance"},
{name: "example_kms_crypto_key"},
{name: "example_kms_crypto_key_iam_binding"},
Expand Down
60 changes: 60 additions & 0 deletions testdata/templates/example_dns_policy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
[
{
"name": "//compute.googleapis.com/projects/{{.Provider.project}}/global/networks/network-1",
"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": false,
"name": "network-1"
}
}
},
{
"name": "//compute.googleapis.com/projects/{{.Provider.project}}/global/networks/network-2",
"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": false,
"name": "network-2"
}
}
},
{
"name": "//dns.googleapis.com/projects/{{.Provider.project}}/policies/example-policy",
"asset_type": "dns.googleapis.com/Policy",
"ancestry_path": "{{.Ancestry}}/project/{{.Provider.project}}",
"resource": {
"version": "v1",
"discovery_document_uri": "https://www.googleapis.com/discovery/v1/apis/dns/v1/rest",
"discovery_name": "Policy",
"parent": "//cloudresourcemanager.googleapis.com/projects/{{.Provider.project}}",
"data": {
"alternativeNameServerConfig": {
"targetNameServers": [
{
"ipv4Address": "172.16.1.20"
},
{
"forwardingPath": "private",
"ipv4Address": "172.16.1.10"
}
]
},
"description": "Managed by Terraform",
"enableInboundForwarding": true,
"enableLogging": true,
"name": "example-policy"
}
}
}
]
62 changes: 62 additions & 0 deletions testdata/templates/example_dns_policy.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/**
* 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_dns_policy" "example-policy" {
name = "example-policy"
enable_inbound_forwarding = true

enable_logging = true

alternative_name_server_config {
target_name_servers {
ipv4_address = "172.16.1.10"
forwarding_path = "private"
}
target_name_servers {
ipv4_address = "172.16.1.20"
}
}

networks {
network_url = google_compute_network.network-1.id
}
networks {
network_url = google_compute_network.network-2.id
}
}

resource "google_compute_network" "network-1" {
name = "network-1"
auto_create_subnetworks = false
}

resource "google_compute_network" "network-2" {
name = "network-2"
auto_create_subnetworks = false
}
Loading

0 comments on commit 16f4273

Please sign in to comment.