@@ -491,6 +491,16 @@ requests.`,
491491 },
492492 Set : schema .HashString ,
493493 },
494+ "custom_response_headers" : {
495+ Type : schema .TypeSet ,
496+ Optional : true ,
497+ Description : `Headers that the HTTP/S load balancer should add to proxied
498+ responses.` ,
499+ Elem : & schema.Schema {
500+ Type : schema .TypeString ,
501+ },
502+ Set : schema .HashString ,
503+ },
494504 "description" : {
495505 Type : schema .TypeString ,
496506 Optional : true ,
@@ -1003,6 +1013,12 @@ func resourceComputeBackendServiceCreate(d *schema.ResourceData, meta interface{
10031013 } else if v , ok := d .GetOkExists ("custom_request_headers" ); ! isEmptyValue (reflect .ValueOf (customRequestHeadersProp )) && (ok || ! reflect .DeepEqual (v , customRequestHeadersProp )) {
10041014 obj ["customRequestHeaders" ] = customRequestHeadersProp
10051015 }
1016+ customResponseHeadersProp , err := expandComputeBackendServiceCustomResponseHeaders (d .Get ("custom_response_headers" ), d , config )
1017+ if err != nil {
1018+ return err
1019+ } else if v , ok := d .GetOkExists ("custom_response_headers" ); ! isEmptyValue (reflect .ValueOf (customResponseHeadersProp )) && (ok || ! reflect .DeepEqual (v , customResponseHeadersProp )) {
1020+ obj ["customResponseHeaders" ] = customResponseHeadersProp
1021+ }
10061022 fingerprintProp , err := expandComputeBackendServiceFingerprint (d .Get ("fingerprint" ), d , config )
10071023 if err != nil {
10081024 return err
@@ -1247,6 +1263,9 @@ func resourceComputeBackendServiceRead(d *schema.ResourceData, meta interface{})
12471263 if err := d .Set ("custom_request_headers" , flattenComputeBackendServiceCustomRequestHeaders (res ["customRequestHeaders" ], d , config )); err != nil {
12481264 return fmt .Errorf ("Error reading BackendService: %s" , err )
12491265 }
1266+ if err := d .Set ("custom_response_headers" , flattenComputeBackendServiceCustomResponseHeaders (res ["customResponseHeaders" ], d , config )); err != nil {
1267+ return fmt .Errorf ("Error reading BackendService: %s" , err )
1268+ }
12501269 if err := d .Set ("fingerprint" , flattenComputeBackendServiceFingerprint (res ["fingerprint" ], d , config )); err != nil {
12511270 return fmt .Errorf ("Error reading BackendService: %s" , err )
12521271 }
@@ -1357,6 +1376,12 @@ func resourceComputeBackendServiceUpdate(d *schema.ResourceData, meta interface{
13571376 } else if v , ok := d .GetOkExists ("custom_request_headers" ); ! isEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , customRequestHeadersProp )) {
13581377 obj ["customRequestHeaders" ] = customRequestHeadersProp
13591378 }
1379+ customResponseHeadersProp , err := expandComputeBackendServiceCustomResponseHeaders (d .Get ("custom_response_headers" ), d , config )
1380+ if err != nil {
1381+ return err
1382+ } else if v , ok := d .GetOkExists ("custom_response_headers" ); ! isEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , customResponseHeadersProp )) {
1383+ obj ["customResponseHeaders" ] = customResponseHeadersProp
1384+ }
13601385 fingerprintProp , err := expandComputeBackendServiceFingerprint (d .Get ("fingerprint" ), d , config )
13611386 if err != nil {
13621387 return err
@@ -2101,6 +2126,13 @@ func flattenComputeBackendServiceCustomRequestHeaders(v interface{}, d *schema.R
21012126 return schema .NewSet (schema .HashString , v .([]interface {}))
21022127}
21032128
2129+ func flattenComputeBackendServiceCustomResponseHeaders (v interface {}, d * schema.ResourceData , config * Config ) interface {} {
2130+ if v == nil {
2131+ return v
2132+ }
2133+ return schema .NewSet (schema .HashString , v .([]interface {}))
2134+ }
2135+
21042136func flattenComputeBackendServiceFingerprint (v interface {}, d * schema.ResourceData , config * Config ) interface {} {
21052137 return v
21062138}
@@ -2986,6 +3018,11 @@ func expandComputeBackendServiceCustomRequestHeaders(v interface{}, d TerraformR
29863018 return v , nil
29873019}
29883020
3021+ func expandComputeBackendServiceCustomResponseHeaders (v interface {}, d TerraformResourceData , config * Config ) (interface {}, error ) {
3022+ v = v .(* schema.Set ).List ()
3023+ return v , nil
3024+ }
3025+
29893026func expandComputeBackendServiceFingerprint (v interface {}, d TerraformResourceData , config * Config ) (interface {}, error ) {
29903027 return v , nil
29913028}
0 commit comments