diff --git a/pkg/cloudprovider/providers/gce/gce_cert.go b/pkg/cloudprovider/providers/gce/gce_cert.go index e981fe71765..8065f08ac92 100644 --- a/pkg/cloudprovider/providers/gce/gce_cert.go +++ b/pkg/cloudprovider/providers/gce/gce_cert.go @@ -17,9 +17,13 @@ limitations under the License. package gce import ( + "context" "net/http" compute "google.golang.org/api/compute/v1" + + "k8s.io/kubernetes/pkg/cloudprovider/providers/gce/cloud/filter" + "k8s.io/kubernetes/pkg/cloudprovider/providers/gce/cloud/meta" ) func newCertMetricContext(request string) *metricContext { @@ -29,46 +33,33 @@ func newCertMetricContext(request string) *metricContext { // GetSslCertificate returns the SslCertificate by name. func (gce *GCECloud) GetSslCertificate(name string) (*compute.SslCertificate, error) { mc := newCertMetricContext("get") - v, err := gce.service.SslCertificates.Get(gce.projectID, name).Do() + v, err := gce.c.SslCertificates().Get(context.Background(), meta.GlobalKey(name)) return v, mc.Observe(err) } // CreateSslCertificate creates and returns a SslCertificate. func (gce *GCECloud) CreateSslCertificate(sslCerts *compute.SslCertificate) (*compute.SslCertificate, error) { mc := newCertMetricContext("create") - op, err := gce.service.SslCertificates.Insert(gce.projectID, sslCerts).Do() - + err := gce.c.SslCertificates().Insert(context.Background(), meta.GlobalKey(sslCerts.Name), sslCerts) if err != nil { return nil, mc.Observe(err) } - - if err = gce.waitForGlobalOp(op, mc); err != nil { - return nil, mc.Observe(err) - } - return gce.GetSslCertificate(sslCerts.Name) } // DeleteSslCertificate deletes the SslCertificate by name. func (gce *GCECloud) DeleteSslCertificate(name string) error { mc := newCertMetricContext("delete") - op, err := gce.service.SslCertificates.Delete(gce.projectID, name).Do() - - if err != nil { - if isHTTPErrorCode(err, http.StatusNotFound) { - return nil - } - - return mc.Observe(err) + err := gce.c.SslCertificates().Delete(context.Background(), meta.GlobalKey(name)) + if isHTTPErrorCode(err, http.StatusNotFound) { + err = nil } - - return gce.waitForGlobalOp(op, mc) + return mc.Observe(err) } // ListSslCertificates lists all SslCertificates in the project. -func (gce *GCECloud) ListSslCertificates() (*compute.SslCertificateList, error) { +func (gce *GCECloud) ListSslCertificates() ([]*compute.SslCertificate, error) { mc := newCertMetricContext("list") - // TODO: use PageToken to list all not just the first 500 - v, err := gce.service.SslCertificates.List(gce.projectID).Do() + v, err := gce.c.SslCertificates().List(context.Background(), filter.None) return v, mc.Observe(err) }