@@ -678,6 +678,28 @@ feature which together with Service Extension allows customized and complex rout
678678 MaxItems : 1 ,
679679 Elem : & schema.Resource {
680680 Schema : map [string ]* schema.Schema {
681+ "forward_proxy" : {
682+ Type : schema .TypeList ,
683+ Optional : true ,
684+ Description : `Dynamic Forwarding Proxy configuration.` ,
685+ MaxItems : 1 ,
686+ Elem : & schema.Resource {
687+ Schema : map [string ]* schema.Schema {
688+ "enabled" : {
689+ Type : schema .TypeBool ,
690+ Required : true ,
691+ ForceNew : true ,
692+ Description : `A boolean flag enabling dynamic forwarding proxy.` ,
693+ },
694+ "proxy_mode" : {
695+ Type : schema .TypeString ,
696+ Required : true ,
697+ ValidateFunc : verify .ValidateEnum ([]string {"DIRECT_FORWARDING" , "CLOUD_RUN" }),
698+ Description : `Determines the dynamic forwarding proxy mode Possible values: ["DIRECT_FORWARDING", "CLOUD_RUN"]` ,
699+ },
700+ },
701+ },
702+ },
681703 "ip_port_selection" : {
682704 Type : schema .TypeList ,
683705 Optional : true ,
@@ -881,11 +903,11 @@ If OAuth client is not set, Google-managed OAuth client is used.`,
881903 Type : schema .TypeString ,
882904 Optional : true ,
883905 ForceNew : true ,
884- ValidateFunc : verify .ValidateEnum ([]string {"EXTERNAL" , "EXTERNAL_MANAGED" , "INTERNAL" , "INTERNAL_MANAGED" , "" }),
906+ ValidateFunc : verify .ValidateEnum ([]string {"EXTERNAL" , "EXTERNAL_MANAGED" , "INTERNAL" , "INTERNAL_MANAGED" , "INTERNAL_SELF_MANAGED" , " " }),
885907 Description : `Indicates what kind of load balancing this regional backend service
886908will be used for. A backend service created for one type of load
887909balancing cannot be used with the other(s). For more information, refer to
888- [Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service). Default value: "INTERNAL" Possible values: ["EXTERNAL", "EXTERNAL_MANAGED", "INTERNAL", "INTERNAL_MANAGED"]` ,
910+ [Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service). Default value: "INTERNAL" Possible values: ["EXTERNAL", "EXTERNAL_MANAGED", "INTERNAL", "INTERNAL_MANAGED", "INTERNAL_SELF_MANAGED" ]` ,
889911 Default : "INTERNAL" ,
890912 },
891913 "locality_lb_policy" : {
@@ -3979,6 +4001,8 @@ func flattenComputeRegionBackendServiceDynamicForwarding(v interface{}, d *schem
39794001 transformed := make (map [string ]interface {})
39804002 transformed ["ip_port_selection" ] =
39814003 flattenComputeRegionBackendServiceDynamicForwardingIpPortSelection (original ["ipPortSelection" ], d , config )
4004+ transformed ["forward_proxy" ] =
4005+ flattenComputeRegionBackendServiceDynamicForwardingForwardProxy (original ["forwardProxy" ], d , config )
39824006 return []interface {}{transformed }
39834007}
39844008func flattenComputeRegionBackendServiceDynamicForwardingIpPortSelection (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
@@ -3998,6 +4022,29 @@ func flattenComputeRegionBackendServiceDynamicForwardingIpPortSelectionEnabled(v
39984022 return v
39994023}
40004024
4025+ func flattenComputeRegionBackendServiceDynamicForwardingForwardProxy (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
4026+ if v == nil {
4027+ return nil
4028+ }
4029+ original := v .(map [string ]interface {})
4030+ if len (original ) == 0 {
4031+ return nil
4032+ }
4033+ transformed := make (map [string ]interface {})
4034+ transformed ["enabled" ] =
4035+ flattenComputeRegionBackendServiceDynamicForwardingForwardProxyEnabled (original ["enabled" ], d , config )
4036+ transformed ["proxy_mode" ] =
4037+ flattenComputeRegionBackendServiceDynamicForwardingForwardProxyProxyMode (original ["proxyMode" ], d , config )
4038+ return []interface {}{transformed }
4039+ }
4040+ func flattenComputeRegionBackendServiceDynamicForwardingForwardProxyEnabled (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
4041+ return v
4042+ }
4043+
4044+ func flattenComputeRegionBackendServiceDynamicForwardingForwardProxyProxyMode (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
4045+ return v
4046+ }
4047+
40014048func flattenComputeRegionBackendServiceHaPolicy (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
40024049 if v == nil {
40034050 return nil
@@ -5580,6 +5627,13 @@ func expandComputeRegionBackendServiceDynamicForwarding(v interface{}, d tpgreso
55805627 transformed ["ipPortSelection" ] = transformedIpPortSelection
55815628 }
55825629
5630+ transformedForwardProxy , err := expandComputeRegionBackendServiceDynamicForwardingForwardProxy (original ["forward_proxy" ], d , config )
5631+ if err != nil {
5632+ return nil , err
5633+ } else if val := reflect .ValueOf (transformedForwardProxy ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
5634+ transformed ["forwardProxy" ] = transformedForwardProxy
5635+ }
5636+
55835637 return transformed , nil
55845638}
55855639
@@ -5609,6 +5663,43 @@ func expandComputeRegionBackendServiceDynamicForwardingIpPortSelectionEnabled(v
56095663 return v , nil
56105664}
56115665
5666+ func expandComputeRegionBackendServiceDynamicForwardingForwardProxy (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
5667+ if v == nil {
5668+ return nil , nil
5669+ }
5670+ l := v .([]interface {})
5671+ if len (l ) == 0 || l [0 ] == nil {
5672+ return nil , nil
5673+ }
5674+ raw := l [0 ]
5675+ original := raw .(map [string ]interface {})
5676+ transformed := make (map [string ]interface {})
5677+
5678+ transformedEnabled , err := expandComputeRegionBackendServiceDynamicForwardingForwardProxyEnabled (original ["enabled" ], d , config )
5679+ if err != nil {
5680+ return nil , err
5681+ } else if val := reflect .ValueOf (transformedEnabled ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
5682+ transformed ["enabled" ] = transformedEnabled
5683+ }
5684+
5685+ transformedProxyMode , err := expandComputeRegionBackendServiceDynamicForwardingForwardProxyProxyMode (original ["proxy_mode" ], d , config )
5686+ if err != nil {
5687+ return nil , err
5688+ } else if val := reflect .ValueOf (transformedProxyMode ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
5689+ transformed ["proxyMode" ] = transformedProxyMode
5690+ }
5691+
5692+ return transformed , nil
5693+ }
5694+
5695+ func expandComputeRegionBackendServiceDynamicForwardingForwardProxyEnabled (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
5696+ return v , nil
5697+ }
5698+
5699+ func expandComputeRegionBackendServiceDynamicForwardingForwardProxyProxyMode (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
5700+ return v , nil
5701+ }
5702+
56125703func expandComputeRegionBackendServiceHaPolicy (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
56135704 if v == nil {
56145705 return nil , nil
@@ -5827,7 +5918,7 @@ func expandComputeRegionBackendServiceRegion(v interface{}, d tpgresource.Terraf
58275918}
58285919
58295920func resourceComputeRegionBackendServiceEncoder (d * schema.ResourceData , meta interface {}, obj map [string ]interface {}) (map [string ]interface {}, error ) {
5830- if d .Get ("load_balancing_scheme" ).(string ) == "EXTERNAL_MANAGED" || d .Get ("load_balancing_scheme" ).(string ) == "INTERNAL_MANAGED" {
5921+ if d .Get ("load_balancing_scheme" ).(string ) == "EXTERNAL_MANAGED" || d .Get ("load_balancing_scheme" ).(string ) == "INTERNAL_MANAGED" || d . Get ( "load_balancing_scheme" ).( string ) == "INTERNAL_SELF_MANAGED" {
58315922 return obj , nil
58325923 }
58335924
0 commit comments