Skip to content

Commit 802f105

Browse files
matheusaleixo-citBBBmau
authored andcommitted
Fixed ServiceAttachment target_service region/location inconsistency when referencing a Secure Web Proxy on creation (GoogleCloudPlatform#13862)
1 parent 2d25e28 commit 802f105

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

mmv1/third_party/terraform/tpgresource/field_helpers.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ const (
1717
RegionalLinkTemplate = "projects/%s/regions/%s/%s/%s"
1818
RegionalLinkBasePattern = "projects/(.+)/regions/(.+)/%s/(.+)"
1919
RegionalPartialLinkBasePattern = "regions/(.+)/%s/(.+)"
20+
LocalLinkBasePattern = "projects/(.+)/locations/(.+)/%s/(.+)"
21+
LocalPartialLinkBasePattern = "locations/(.+)/%s/(.+)"
2022
ProjectLinkTemplate = "projects/%s/%s/%s"
2123
ProjectBasePattern = "projects/(.+)/%s/(.+)"
2224
OrganizationLinkTemplate = "organizations/%s/%s/%s"
@@ -414,6 +416,16 @@ func ParseRegionalFieldValue(resourceType, fieldValue, projectSchemaField, regio
414416
}, nil
415417
}
416418

419+
r = regexp.MustCompile(fmt.Sprintf(LocalLinkBasePattern, resourceType))
420+
if parts := r.FindStringSubmatch(fieldValue); parts != nil {
421+
return &RegionalFieldValue{
422+
Project: parts[1],
423+
Region: parts[2],
424+
Name: parts[3],
425+
resourceType: resourceType,
426+
}, nil
427+
}
428+
417429
project, err := GetProjectFromSchema(projectSchemaField, d, config)
418430
if err != nil {
419431
return nil, err
@@ -429,6 +441,16 @@ func ParseRegionalFieldValue(resourceType, fieldValue, projectSchemaField, regio
429441
}, nil
430442
}
431443

444+
r = regexp.MustCompile(fmt.Sprintf(LocalPartialLinkBasePattern, resourceType))
445+
if parts := r.FindStringSubmatch(fieldValue); parts != nil {
446+
return &RegionalFieldValue{
447+
Project: project,
448+
Region: parts[1],
449+
Name: parts[2],
450+
resourceType: resourceType,
451+
}, nil
452+
}
453+
432454
region, err := GetRegionFromSchema(regionSchemaField, zoneSchemaField, d, config)
433455
if err != nil {
434456
return nil, err

0 commit comments

Comments
 (0)