Skip to content

Commit ea99b96

Browse files
Support for egress_settings on google_app_engine_standard_app_version… (#6535) (#4701)
Signed-off-by: Modular Magician <[email protected]> Signed-off-by: Modular Magician <[email protected]>
1 parent f40558d commit ea99b96

File tree

4 files changed

+40
-9
lines changed

4 files changed

+40
-9
lines changed

.changelog/6535.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
appengine: Added `egress_setting` for field `vpc_access_connector` to `google_app_engine_standard_app_version`
3+
```

google-beta/resource_app_engine_standard_app_version.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,11 @@ Substitute '<language>' with 'python', 'java', 'php', 'ruby', 'go' or 'nodejs'.`
422422
Required: true,
423423
Description: `Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.`,
424424
},
425+
"egress_setting": {
426+
Type: schema.TypeString,
427+
Optional: true,
428+
Description: `The egress setting for the connector, controlling what traffic is diverted through it.`,
429+
},
425430
},
426431
},
427432
},
@@ -1116,12 +1121,18 @@ func flattenAppEngineStandardAppVersionVPCAccessConnector(v interface{}, d *sche
11161121
transformed := make(map[string]interface{})
11171122
transformed["name"] =
11181123
flattenAppEngineStandardAppVersionVPCAccessConnectorName(original["name"], d, config)
1124+
transformed["egress_setting"] =
1125+
flattenAppEngineStandardAppVersionVPCAccessConnectorEgressSetting(original["egressSetting"], d, config)
11191126
return []interface{}{transformed}
11201127
}
11211128
func flattenAppEngineStandardAppVersionVPCAccessConnectorName(v interface{}, d *schema.ResourceData, config *Config) interface{} {
11221129
return v
11231130
}
11241131

1132+
func flattenAppEngineStandardAppVersionVPCAccessConnectorEgressSetting(v interface{}, d *schema.ResourceData, config *Config) interface{} {
1133+
return v
1134+
}
1135+
11251136
func flattenAppEngineStandardAppVersionInboundServices(v interface{}, d *schema.ResourceData, config *Config) interface{} {
11261137
if v == nil {
11271138
return v
@@ -1752,13 +1763,24 @@ func expandAppEngineStandardAppVersionVPCAccessConnector(v interface{}, d Terraf
17521763
transformed["name"] = transformedName
17531764
}
17541765

1766+
transformedEgressSetting, err := expandAppEngineStandardAppVersionVPCAccessConnectorEgressSetting(original["egress_setting"], d, config)
1767+
if err != nil {
1768+
return nil, err
1769+
} else if val := reflect.ValueOf(transformedEgressSetting); val.IsValid() && !isEmptyValue(val) {
1770+
transformed["egressSetting"] = transformedEgressSetting
1771+
}
1772+
17551773
return transformed, nil
17561774
}
17571775

17581776
func expandAppEngineStandardAppVersionVPCAccessConnectorName(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
17591777
return v, nil
17601778
}
17611779

1780+
func expandAppEngineStandardAppVersionVPCAccessConnectorEgressSetting(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
1781+
return v, nil
1782+
}
1783+
17621784
func expandAppEngineStandardAppVersionInboundServices(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
17631785
v = v.(*schema.Set).List()
17641786
return v, nil

google-beta/resource_app_engine_standard_app_version_test.go

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package google
22

33
import (
4-
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
54
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
67
)
78

89
func TestAccAppEngineStandardAppVersion_update(t *testing.T) {
@@ -166,14 +167,14 @@ resource "google_project_service" "vpcaccess_api" {
166167
}
167168
168169
resource "google_vpc_access_connector" "bar" {
169-
depends_on = [
170+
depends_on = [
170171
google_project_service.vpcaccess_api
171172
]
172-
project = google_project.my_project.project_id
173-
name = "bar"
174-
region = "us-central1"
175-
ip_cidr_range = "10.8.0.0/28"
176-
network = "default"
173+
project = google_project.my_project.project_id
174+
name = "bar"
175+
region = "us-central1"
176+
ip_cidr_range = "10.8.0.0/28"
177+
network = "default"
177178
}
178179
179180
resource "google_app_engine_standard_app_version" "foo" {
@@ -182,8 +183,9 @@ resource "google_app_engine_standard_app_version" "foo" {
182183
service = "default"
183184
runtime = "python38"
184185
185-
vpc_access_connector {
186-
name = "${google_vpc_access_connector.bar.id}"
186+
vpc_access_connector {
187+
name = "${google_vpc_access_connector.bar.id}"
188+
egress_setting = "ALL_TRAFFIC"
187189
}
188190
189191
entrypoint {

website/docs/r/app_engine_standard_app_version.html.markdown

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,10 @@ The following arguments are supported:
349349
(Required)
350350
Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.
351351

352+
* `egress_setting` -
353+
(Optional)
354+
The egress setting for the connector, controlling what traffic is diverted through it.
355+
352356
<a name="nested_automatic_scaling"></a>The `automatic_scaling` block supports:
353357

354358
* `max_concurrent_requests` -

0 commit comments

Comments
 (0)