diff --git a/data_source_google_compute_subnetwork.go b/data_source_google_compute_subnetwork.go index bff489ba..03a368bc 100644 --- a/data_source_google_compute_subnetwork.go +++ b/data_source_google_compute_subnetwork.go @@ -29,6 +29,10 @@ func dataSourceGoogleComputeSubnetwork() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "private_ip_google_access": &schema.Schema{ + Type: schema.TypeBool, + Computed: true, + }, "network": &schema.Schema{ Type: schema.TypeString, Computed: true, @@ -75,6 +79,7 @@ func dataSourceGoogleComputeSubnetworkRead(d *schema.ResourceData, meta interfac } d.Set("ip_cidr_range", subnetwork.IpCidrRange) + d.Set("private_ip_google_access", subnetwork.PrivateIpGoogleAccess) d.Set("self_link", subnetwork.SelfLink) d.Set("description", subnetwork.Description) d.Set("gateway_address", subnetwork.GatewayAddress) diff --git a/data_source_google_compute_subnetwork_test.go b/data_source_google_compute_subnetwork_test.go index f3d8516d..835bd6ea 100644 --- a/data_source_google_compute_subnetwork_test.go +++ b/data_source_google_compute_subnetwork_test.go @@ -45,6 +45,7 @@ func testAccDataSourceGoogleSubnetworkCheck(data_source_name string, resource_na "description", "ip_cidr_range", "network", + "private_ip_google_access", } for _, attr_to_check := range subnetwork_attrs_to_test { @@ -73,6 +74,7 @@ resource "google_compute_subnetwork" "foobar" { description = "my-description" ip_cidr_range = "10.0.0.0/24" network = "${google_compute_network.foobar.self_link}" + private_ip_google_access = true } data "google_compute_subnetwork" "my_subnetwork" { diff --git a/resource_compute_subnetwork.go b/resource_compute_subnetwork.go index 53f0c0da..d00cdc20 100644 --- a/resource_compute_subnetwork.go +++ b/resource_compute_subnetwork.go @@ -58,6 +58,12 @@ func resourceComputeSubnetwork() *schema.Resource { ForceNew: true, }, + "private_ip_google_access": &schema.Schema{ + Type: schema.TypeBool, + Optional: true, + ForceNew: true, + }, + "self_link": &schema.Schema{ Type: schema.TypeString, Computed: true, @@ -97,10 +103,11 @@ func resourceComputeSubnetworkCreate(d *schema.ResourceData, meta interface{}) e // Build the subnetwork parameters subnetwork := &compute.Subnetwork{ - Name: d.Get("name").(string), - Description: d.Get("description").(string), - IpCidrRange: d.Get("ip_cidr_range").(string), - Network: network, + Name: d.Get("name").(string), + Description: d.Get("description").(string), + IpCidrRange: d.Get("ip_cidr_range").(string), + PrivateIpGoogleAccess: d.Get("private_ip_google_access").(bool), + Network: network, } log.Printf("[DEBUG] Subnetwork insert request: %#v", subnetwork) diff --git a/resource_compute_subnetwork_test.go b/resource_compute_subnetwork_test.go index 9f4ba887..3719a2fc 100644 --- a/resource_compute_subnetwork_test.go +++ b/resource_compute_subnetwork_test.go @@ -102,4 +102,12 @@ resource "google_compute_subnetwork" "network-ref-by-name" { network = "${google_compute_network.custom-test.name}" } -`, acctest.RandString(10), acctest.RandString(10), acctest.RandString(10)) +resource "google_compute_subnetwork" "network-with-private-google-access" { + name = "subnetwork-test-%s" + ip_cidr_range = "10.2.0.0/16" + region = "us-central1" + network = "${google_compute_network.custom-test.self_link}" + private_ip_google_access = true +} + +`, acctest.RandString(10), acctest.RandString(10), acctest.RandString(10), acctest.RandString(10))