Skip to content

Commit 11e2e49

Browse files
Revert "Add reservedInternalRange fields to the google_compute_subnetwork resource" (#10697) (#18133)
[upstream:0a207d115a5174c6218c0a2aa5b953e657214d83] Signed-off-by: Modular Magician <[email protected]>
1 parent 6643982 commit 11e2e49

File tree

3 files changed

+32
-137
lines changed

3 files changed

+32
-137
lines changed

google/services/compute/resource_compute_subnetwork.go

+20-78
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,15 @@ func ResourceComputeSubnetwork() *schema.Resource {
7979
),
8080

8181
Schema: map[string]*schema.Schema{
82+
"ip_cidr_range": {
83+
Type: schema.TypeString,
84+
Required: true,
85+
ValidateFunc: verify.ValidateIpCidrRange,
86+
Description: `The range of internal addresses that are owned by this subnetwork.
87+
Provide this property when you create the subnetwork. For example,
88+
10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
89+
non-overlapping within a network. Only IPv4 is supported.`,
90+
},
8291
"name": {
8392
Type: schema.TypeString,
8493
Required: true,
@@ -115,17 +124,6 @@ creation time.`,
115124
ForceNew: true,
116125
Description: `The range of external IPv6 addresses that are owned by this subnetwork.`,
117126
},
118-
"ip_cidr_range": {
119-
Type: schema.TypeString,
120-
Computed: true,
121-
Optional: true,
122-
ValidateFunc: verify.ValidateIpCidrRange,
123-
Description: `The range of internal addresses that are owned by this subnetwork.
124-
Provide this property when you create the subnetwork. For example,
125-
10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
126-
non-overlapping within a network. Only IPv4 is supported.
127-
Field is optional when 'reserved_internal_range' is defined, otherwise required.`,
128-
},
129127
"ipv6_access_type": {
130128
Type: schema.TypeString,
131129
Optional: true,
@@ -232,14 +230,6 @@ If unspecified, the purpose defaults to 'PRIVATE_RFC_1918'.`,
232230
DiffSuppressFunc: tpgresource.CompareSelfLinkOrResourceName,
233231
Description: `The GCP region for this subnetwork.`,
234232
},
235-
"reserved_internal_range": {
236-
Type: schema.TypeString,
237-
Optional: true,
238-
ForceNew: true,
239-
DiffSuppressFunc: tpgresource.CompareSelfLinkOrResourceName,
240-
Description: `The ID of the reserved internal range. Must be prefixed with 'networkconnectivity.googleapis.com'
241-
E.g. 'networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}'`,
242-
},
243233
"role": {
244234
Type: schema.TypeString,
245235
Optional: true,
@@ -267,6 +257,15 @@ of zero objects you must use the following syntax:
267257
For more details about this behavior, see [this section](https://www.terraform.io/docs/configuration/attr-as-blocks.html#defining-a-fixed-object-collection-value).`,
268258
Elem: &schema.Resource{
269259
Schema: map[string]*schema.Schema{
260+
"ip_cidr_range": {
261+
Type: schema.TypeString,
262+
Required: true,
263+
ValidateFunc: verify.ValidateIpCidrRange,
264+
Description: `The range of IP addresses belonging to this subnetwork secondary
265+
range. Provide this property when you create the subnetwork.
266+
Ranges must be unique and non-overlapping with all primary and
267+
secondary IP ranges within a network. Only IPv4 is supported.`,
268+
},
270269
"range_name": {
271270
Type: schema.TypeString,
272271
Required: true,
@@ -276,24 +275,6 @@ when adding an alias IP range to a VM instance. The name must
276275
be 1-63 characters long, and comply with RFC1035. The name
277276
must be unique within the subnetwork.`,
278277
},
279-
"ip_cidr_range": {
280-
Type: schema.TypeString,
281-
Computed: true,
282-
Optional: true,
283-
ValidateFunc: verify.ValidateIpCidrRange,
284-
Description: `The range of IP addresses belonging to this subnetwork secondary
285-
range. Provide this property when you create the subnetwork.
286-
Ranges must be unique and non-overlapping with all primary and
287-
secondary IP ranges within a network. Only IPv4 is supported.
288-
Field is optional when 'reserved_internal_range' is defined, otherwise required.`,
289-
},
290-
"reserved_internal_range": {
291-
Type: schema.TypeString,
292-
Optional: true,
293-
DiffSuppressFunc: tpgresource.CompareSelfLinkOrResourceName,
294-
Description: `The ID of the reserved internal range. Must be prefixed with 'networkconnectivity.googleapis.com'
295-
E.g. 'networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}'`,
296-
},
297278
},
298279
},
299280
},
@@ -409,12 +390,6 @@ func resourceComputeSubnetworkCreate(d *schema.ResourceData, meta interface{}) e
409390
} else if v, ok := d.GetOkExists("ip_cidr_range"); !tpgresource.IsEmptyValue(reflect.ValueOf(ipCidrRangeProp)) && (ok || !reflect.DeepEqual(v, ipCidrRangeProp)) {
410391
obj["ipCidrRange"] = ipCidrRangeProp
411392
}
412-
reservedInternalRangeProp, err := expandComputeSubnetworkReservedInternalRange(d.Get("reserved_internal_range"), d, config)
413-
if err != nil {
414-
return err
415-
} else if v, ok := d.GetOkExists("reserved_internal_range"); !tpgresource.IsEmptyValue(reflect.ValueOf(reservedInternalRangeProp)) && (ok || !reflect.DeepEqual(v, reservedInternalRangeProp)) {
416-
obj["reservedInternalRange"] = reservedInternalRangeProp
417-
}
418393
nameProp, err := expandComputeSubnetworkName(d.Get("name"), d, config)
419394
if err != nil {
420395
return err
@@ -598,9 +573,6 @@ func resourceComputeSubnetworkRead(d *schema.ResourceData, meta interface{}) err
598573
if err := d.Set("ip_cidr_range", flattenComputeSubnetworkIpCidrRange(res["ipCidrRange"], d, config)); err != nil {
599574
return fmt.Errorf("Error reading Subnetwork: %s", err)
600575
}
601-
if err := d.Set("reserved_internal_range", flattenComputeSubnetworkReservedInternalRange(res["reservedInternalRange"], d, config)); err != nil {
602-
return fmt.Errorf("Error reading Subnetwork: %s", err)
603-
}
604576
if err := d.Set("name", flattenComputeSubnetworkName(res["name"], d, config)); err != nil {
605577
return fmt.Errorf("Error reading Subnetwork: %s", err)
606578
}
@@ -1140,13 +1112,6 @@ func flattenComputeSubnetworkIpCidrRange(v interface{}, d *schema.ResourceData,
11401112
return v
11411113
}
11421114

1143-
func flattenComputeSubnetworkReservedInternalRange(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
1144-
if v == nil {
1145-
return v
1146-
}
1147-
return tpgresource.ConvertSelfLinkToV1(v.(string))
1148-
}
1149-
11501115
func flattenComputeSubnetworkName(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
11511116
return v
11521117
}
@@ -1179,9 +1144,8 @@ func flattenComputeSubnetworkSecondaryIpRange(v interface{}, d *schema.ResourceD
11791144
continue
11801145
}
11811146
transformed = append(transformed, map[string]interface{}{
1182-
"range_name": flattenComputeSubnetworkSecondaryIpRangeRangeName(original["rangeName"], d, config),
1183-
"ip_cidr_range": flattenComputeSubnetworkSecondaryIpRangeIpCidrRange(original["ipCidrRange"], d, config),
1184-
"reserved_internal_range": flattenComputeSubnetworkSecondaryIpRangeReservedInternalRange(original["reservedInternalRange"], d, config),
1147+
"range_name": flattenComputeSubnetworkSecondaryIpRangeRangeName(original["rangeName"], d, config),
1148+
"ip_cidr_range": flattenComputeSubnetworkSecondaryIpRangeIpCidrRange(original["ipCidrRange"], d, config),
11851149
})
11861150
}
11871151
return transformed
@@ -1194,13 +1158,6 @@ func flattenComputeSubnetworkSecondaryIpRangeIpCidrRange(v interface{}, d *schem
11941158
return v
11951159
}
11961160

1197-
func flattenComputeSubnetworkSecondaryIpRangeReservedInternalRange(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
1198-
if v == nil {
1199-
return v
1200-
}
1201-
return tpgresource.ConvertSelfLinkToV1(v.(string))
1202-
}
1203-
12041161
func flattenComputeSubnetworkPrivateIpGoogleAccess(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
12051162
return v
12061163
}
@@ -1277,10 +1234,6 @@ func expandComputeSubnetworkIpCidrRange(v interface{}, d tpgresource.TerraformRe
12771234
return v, nil
12781235
}
12791236

1280-
func expandComputeSubnetworkReservedInternalRange(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
1281-
return v, nil
1282-
}
1283-
12841237
func expandComputeSubnetworkName(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
12851238
return v, nil
12861239
}
@@ -1325,13 +1278,6 @@ func expandComputeSubnetworkSecondaryIpRange(v interface{}, d tpgresource.Terraf
13251278
transformed["ipCidrRange"] = transformedIpCidrRange
13261279
}
13271280

1328-
transformedReservedInternalRange, err := expandComputeSubnetworkSecondaryIpRangeReservedInternalRange(original["reserved_internal_range"], d, config)
1329-
if err != nil {
1330-
return nil, err
1331-
} else if val := reflect.ValueOf(transformedReservedInternalRange); val.IsValid() && !tpgresource.IsEmptyValue(val) {
1332-
transformed["reservedInternalRange"] = transformedReservedInternalRange
1333-
}
1334-
13351281
req = append(req, transformed)
13361282
}
13371283
return req, nil
@@ -1345,10 +1291,6 @@ func expandComputeSubnetworkSecondaryIpRangeIpCidrRange(v interface{}, d tpgreso
13451291
return v, nil
13461292
}
13471293

1348-
func expandComputeSubnetworkSecondaryIpRangeReservedInternalRange(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
1349-
return v, nil
1350-
}
1351-
13521294
func expandComputeSubnetworkPrivateIpGoogleAccess(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
13531295
return v, nil
13541296
}

google/services/compute/resource_compute_subnetwork_generated_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func TestAccComputeSubnetwork_subnetworkBasicExample(t *testing.T) {
4949
ResourceName: "google_compute_subnetwork.network-with-private-secondary-ip-ranges",
5050
ImportState: true,
5151
ImportStateVerify: true,
52-
ImportStateVerifyIgnore: []string{"network", "region", "reserved_internal_range"},
52+
ImportStateVerifyIgnore: []string{"network", "region"},
5353
},
5454
},
5555
})
@@ -94,7 +94,7 @@ func TestAccComputeSubnetwork_subnetworkLoggingConfigExample(t *testing.T) {
9494
ResourceName: "google_compute_subnetwork.subnet-with-logging",
9595
ImportState: true,
9696
ImportStateVerify: true,
97-
ImportStateVerifyIgnore: []string{"network", "region", "reserved_internal_range"},
97+
ImportStateVerifyIgnore: []string{"network", "region"},
9898
},
9999
},
100100
})
@@ -141,7 +141,7 @@ func TestAccComputeSubnetwork_subnetworkIpv6Example(t *testing.T) {
141141
ResourceName: "google_compute_subnetwork.subnetwork-ipv6",
142142
ImportState: true,
143143
ImportStateVerify: true,
144-
ImportStateVerifyIgnore: []string{"network", "region", "reserved_internal_range"},
144+
ImportStateVerifyIgnore: []string{"network", "region"},
145145
},
146146
},
147147
})
@@ -187,7 +187,7 @@ func TestAccComputeSubnetwork_subnetworkInternalIpv6Example(t *testing.T) {
187187
ResourceName: "google_compute_subnetwork.subnetwork-internal-ipv6",
188188
ImportState: true,
189189
ImportStateVerify: true,
190-
ImportStateVerifyIgnore: []string{"network", "region", "reserved_internal_range"},
190+
ImportStateVerifyIgnore: []string{"network", "region"},
191191
},
192192
},
193193
})

website/docs/r/compute_subnetwork.html.markdown

+8-55
Original file line numberDiff line numberDiff line change
@@ -235,47 +235,19 @@ resource "google_compute_network" "net-cidr-overlap" {
235235
auto_create_subnetworks = false
236236
}
237237
```
238-
<div class = "oics-button" style="float: right; margin: 0 0 -15px">
239-
<a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.jpy.wang%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md&cloudshell_working_dir=subnetwork_reserved_internal_range&open_in_editor=main.tf" target="_blank">
240-
<img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;">
241-
</a>
242-
</div>
243-
## Example Usage - Subnetwork Reserved Internal Range
244-
245-
246-
```hcl
247-
resource "google_compute_subnetwork" "subnetwork-reserved-internal-range" {
248-
provider = google-beta
249-
name = "subnetwork-reserved-internal-range"
250-
region = "us-central1"
251-
network = google_compute_network.default.id
252-
reserved_internal_range = "networkconnectivity.googleapis.com/${google_network_connectivity_internal_range.reserved.id}"
253-
}
254-
255-
resource "google_compute_network" "default" {
256-
provider = google-beta
257-
name = "network-reserved-internal-range"
258-
auto_create_subnetworks = false
259-
}
260-
261-
resource "google_network_connectivity_internal_range" "reserved" {
262-
provider = google-beta
263-
name = "reserved"
264-
network = google_compute_network.default.id
265-
usage = "FOR_VPC"
266-
peering = "FOR_SELF"
267-
prefix_length = 24
268-
target_cidr_range = [
269-
"10.0.0.0/8"
270-
]
271-
}
272-
```
273238

274239
## Argument Reference
275240

276241
The following arguments are supported:
277242

278243

244+
* `ip_cidr_range` -
245+
(Required)
246+
The range of internal addresses that are owned by this subnetwork.
247+
Provide this property when you create the subnetwork. For example,
248+
10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
249+
non-overlapping within a network. Only IPv4 is supported.
250+
279251
* `name` -
280252
(Required)
281253
The name of the resource, provided by the client when initially
@@ -301,19 +273,6 @@ The following arguments are supported:
301273
you create the resource. This field can be set only at resource
302274
creation time.
303275

304-
* `ip_cidr_range` -
305-
(Optional)
306-
The range of internal addresses that are owned by this subnetwork.
307-
Provide this property when you create the subnetwork. For example,
308-
10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
309-
non-overlapping within a network. Only IPv4 is supported.
310-
Field is optional when `reserved_internal_range` is defined, otherwise required.
311-
312-
* `reserved_internal_range` -
313-
(Optional)
314-
The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
315-
E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
316-
317276
* `purpose` -
318277
(Optional)
319278
The purpose of the resource. This field can be either `PRIVATE_RFC_1918`, `REGIONAL_MANAGED_PROXY`, `GLOBAL_MANAGED_PROXY`, `PRIVATE_SERVICE_CONNECT` or `PRIVATE_NAT`([Beta](https://terraform.io/docs/providers/google/guides/provider_versions.html)).
@@ -405,17 +364,11 @@ The following arguments are supported:
405364
must be unique within the subnetwork.
406365

407366
* `ip_cidr_range` -
408-
(Optional)
367+
(Required)
409368
The range of IP addresses belonging to this subnetwork secondary
410369
range. Provide this property when you create the subnetwork.
411370
Ranges must be unique and non-overlapping with all primary and
412371
secondary IP ranges within a network. Only IPv4 is supported.
413-
Field is optional when `reserved_internal_range` is defined, otherwise required.
414-
415-
* `reserved_internal_range` -
416-
(Optional)
417-
The ID of the reserved internal range. Must be prefixed with `networkconnectivity.googleapis.com`
418-
E.g. `networkconnectivity.googleapis.com/projects/{project}/locations/global/internalRanges/{rangeId}`
419372

420373
<a name="nested_log_config"></a>The `log_config` block supports:
421374

0 commit comments

Comments
 (0)