@@ -23,6 +23,7 @@ import (
23
23
"github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/filter"
24
24
"github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/meta"
25
25
computealpha "google.golang.org/api/compute/v0.alpha"
26
+ computebeta "google.golang.org/api/compute/v0.beta"
26
27
compute "google.golang.org/api/compute/v1"
27
28
)
28
29
@@ -102,6 +103,16 @@ func (g *Cloud) GetAlphaRegionForwardingRule(name, region string) (*computealpha
102
103
return v , mc .Observe (err )
103
104
}
104
105
106
+ // GetBetaRegionForwardingRule returns the Beta forwarding rule by name & region.
107
+ func (g * Cloud ) GetBetaRegionForwardingRule (name , region string ) (* computebeta.ForwardingRule , error ) {
108
+ ctx , cancel := cloud .ContextWithCallTimeout ()
109
+ defer cancel ()
110
+
111
+ mc := newForwardingRuleMetricContextWithVersion ("get" , region , computeBetaVersion )
112
+ v , err := g .c .BetaForwardingRules ().Get (ctx , meta .RegionalKey (name , region ))
113
+ return v , mc .Observe (err )
114
+ }
115
+
105
116
// ListRegionForwardingRules lists all RegionalForwardingRules in the project & region.
106
117
func (g * Cloud ) ListRegionForwardingRules (region string ) ([]* compute.ForwardingRule , error ) {
107
118
ctx , cancel := cloud .ContextWithCallTimeout ()
@@ -122,6 +133,16 @@ func (g *Cloud) ListAlphaRegionForwardingRules(region string) ([]*computealpha.F
122
133
return v , mc .Observe (err )
123
134
}
124
135
136
+ // ListBetaRegionForwardingRules lists all RegionalForwardingRules in the project & region.
137
+ func (g * Cloud ) ListBetaRegionForwardingRules (region string ) ([]* computebeta.ForwardingRule , error ) {
138
+ ctx , cancel := cloud .ContextWithCallTimeout ()
139
+ defer cancel ()
140
+
141
+ mc := newForwardingRuleMetricContextWithVersion ("list" , region , computeBetaVersion )
142
+ v , err := g .c .BetaForwardingRules ().List (ctx , region , filter .None )
143
+ return v , mc .Observe (err )
144
+ }
145
+
125
146
// CreateRegionForwardingRule creates and returns a
126
147
// RegionalForwardingRule that points to the given BackendService
127
148
func (g * Cloud ) CreateRegionForwardingRule (rule * compute.ForwardingRule , region string ) error {
@@ -133,7 +154,7 @@ func (g *Cloud) CreateRegionForwardingRule(rule *compute.ForwardingRule, region
133
154
}
134
155
135
156
// CreateAlphaRegionForwardingRule creates and returns an Alpha
136
- // forwarding fule in the given region.
157
+ // forwarding rule in the given region.
137
158
func (g * Cloud ) CreateAlphaRegionForwardingRule (rule * computealpha.ForwardingRule , region string ) error {
138
159
ctx , cancel := cloud .ContextWithCallTimeout ()
139
160
defer cancel ()
@@ -142,6 +163,16 @@ func (g *Cloud) CreateAlphaRegionForwardingRule(rule *computealpha.ForwardingRul
142
163
return mc .Observe (g .c .AlphaForwardingRules ().Insert (ctx , meta .RegionalKey (rule .Name , region ), rule ))
143
164
}
144
165
166
+ // CreateBetaRegionForwardingRule creates and returns a Beta
167
+ // forwarding rule in the given region.
168
+ func (g * Cloud ) CreateBetaRegionForwardingRule (rule * computebeta.ForwardingRule , region string ) error {
169
+ ctx , cancel := cloud .ContextWithCallTimeout ()
170
+ defer cancel ()
171
+
172
+ mc := newForwardingRuleMetricContextWithVersion ("create" , region , computeBetaVersion )
173
+ return mc .Observe (g .c .BetaForwardingRules ().Insert (ctx , meta .RegionalKey (rule .Name , region ), rule ))
174
+ }
175
+
145
176
// DeleteRegionForwardingRule deletes the RegionalForwardingRule by name & region.
146
177
func (g * Cloud ) DeleteRegionForwardingRule (name , region string ) error {
147
178
ctx , cancel := cloud .ContextWithCallTimeout ()
0 commit comments