From c516a35d4d0cb2cbe0b4e977a6d355ecfa23ae2b Mon Sep 17 00:00:00 2001 From: Zihong Zheng Date: Tue, 5 Jun 2018 15:18:13 -0700 Subject: [PATCH] [gce provider] Wrapper for beta backend servvice create/update --- .../providers/gce/cloud/meta/meta.go | 1 + .../providers/gce/gce_backendservice.go | 23 +++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/pkg/cloudprovider/providers/gce/cloud/meta/meta.go b/pkg/cloudprovider/providers/gce/cloud/meta/meta.go index e9ff33d43da..321290e52a1 100644 --- a/pkg/cloudprovider/providers/gce/cloud/meta/meta.go +++ b/pkg/cloudprovider/providers/gce/cloud/meta/meta.go @@ -115,6 +115,7 @@ var AllServices = []*ServiceInfo{ keyType: Global, serviceType: reflect.TypeOf(&beta.BackendServicesService{}), additionalMethods: []string{ + "Update", "SetSecurityPolicy", }, }, diff --git a/pkg/cloudprovider/providers/gce/gce_backendservice.go b/pkg/cloudprovider/providers/gce/gce_backendservice.go index 4b330a49ede..23dc3bf1cb3 100644 --- a/pkg/cloudprovider/providers/gce/gce_backendservice.go +++ b/pkg/cloudprovider/providers/gce/gce_backendservice.go @@ -74,13 +74,23 @@ func (gce *GCECloud) UpdateGlobalBackendService(bg *compute.BackendService) erro return mc.Observe(gce.c.BackendServices().Update(ctx, meta.GlobalKey(bg.Name), bg)) } +// UpdateBetaGlobalBackendService applies the given beta BackendService as an +// update to an existing service. +func (gce *GCECloud) UpdateBetaGlobalBackendService(bg *computebeta.BackendService) error { + ctx, cancel := cloud.ContextWithCallTimeout() + defer cancel() + + mc := newBackendServiceMetricContextWithVersion("update", "", computeBetaVersion) + return mc.Observe(gce.c.BetaBackendServices().Update(ctx, meta.GlobalKey(bg.Name), bg)) +} + // UpdateAlphaGlobalBackendService applies the given alpha BackendService as an // update to an existing service. func (gce *GCECloud) UpdateAlphaGlobalBackendService(bg *computealpha.BackendService) error { ctx, cancel := cloud.ContextWithCallTimeout() defer cancel() - mc := newBackendServiceMetricContext("update", "") + mc := newBackendServiceMetricContextWithVersion("update", "", computeAlphaVersion) return mc.Observe(gce.c.AlphaBackendServices().Update(ctx, meta.GlobalKey(bg.Name), bg)) } @@ -102,12 +112,21 @@ func (gce *GCECloud) CreateGlobalBackendService(bg *compute.BackendService) erro return mc.Observe(gce.c.BackendServices().Insert(ctx, meta.GlobalKey(bg.Name), bg)) } +// CreateBetaGlobalBackendService creates the given beta BackendService. +func (gce *GCECloud) CreateBetaGlobalBackendService(bg *computebeta.BackendService) error { + ctx, cancel := cloud.ContextWithCallTimeout() + defer cancel() + + mc := newBackendServiceMetricContextWithVersion("create", "", computeBetaVersion) + return mc.Observe(gce.c.BetaBackendServices().Insert(ctx, meta.GlobalKey(bg.Name), bg)) +} + // CreateAlphaGlobalBackendService creates the given alpha BackendService. func (gce *GCECloud) CreateAlphaGlobalBackendService(bg *computealpha.BackendService) error { ctx, cancel := cloud.ContextWithCallTimeout() defer cancel() - mc := newBackendServiceMetricContext("create", "") + mc := newBackendServiceMetricContextWithVersion("create", "", computeAlphaVersion) return mc.Observe(gce.c.AlphaBackendServices().Insert(ctx, meta.GlobalKey(bg.Name), bg)) }