Unverified Commit 77a08ee2 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #63989 from MrHohn/gce-security-policy

Automatic merge from submit-queue (batch tested with PRs 63569, 63918, 63980, 63295, 63989). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. GCE provider: add wrapper for security policy **What this PR does / why we need it**: Generated mock interface for beta backend service and security policy as well. **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes #NONE **Special notes for your reviewer**: /assign @nicksardo **Release note**: ```release-note NONE ```
parents 7da05eb8 5158add0
...@@ -109,4 +109,9 @@ limitations under the License. ...@@ -109,4 +109,9 @@ limitations under the License.
// func (gce *GCEInstanceGroups) MyMethod() { // func (gce *GCEInstanceGroups) MyMethod() {
// // Custom implementation. // // Custom implementation.
// } // }
//
// Update generated codes
//
// Run hack/update-cloudprovider-gce.sh to update the generated codes.
//
package cloud package cloud
...@@ -179,6 +179,8 @@ func TestBackendServicesGroup(t *testing.T) { ...@@ -179,6 +179,8 @@ func TestBackendServicesGroup(t *testing.T) {
var key *meta.Key var key *meta.Key
keyAlpha := meta.GlobalKey("key-alpha") keyAlpha := meta.GlobalKey("key-alpha")
key = keyAlpha key = keyAlpha
keyBeta := meta.GlobalKey("key-beta")
key = keyBeta
keyGA := meta.GlobalKey("key-ga") keyGA := meta.GlobalKey("key-ga")
key = keyGA key = keyGA
// Ignore unused variables. // Ignore unused variables.
...@@ -188,6 +190,9 @@ func TestBackendServicesGroup(t *testing.T) { ...@@ -188,6 +190,9 @@ func TestBackendServicesGroup(t *testing.T) {
if _, err := mock.AlphaBackendServices().Get(ctx, key); err == nil { if _, err := mock.AlphaBackendServices().Get(ctx, key); err == nil {
t.Errorf("AlphaBackendServices().Get(%v, %v) = _, nil; want error", ctx, key) t.Errorf("AlphaBackendServices().Get(%v, %v) = _, nil; want error", ctx, key)
} }
if _, err := mock.BetaBackendServices().Get(ctx, key); err == nil {
t.Errorf("BetaBackendServices().Get(%v, %v) = _, nil; want error", ctx, key)
}
if _, err := mock.BackendServices().Get(ctx, key); err == nil { if _, err := mock.BackendServices().Get(ctx, key); err == nil {
t.Errorf("BackendServices().Get(%v, %v) = _, nil; want error", ctx, key) t.Errorf("BackendServices().Get(%v, %v) = _, nil; want error", ctx, key)
} }
...@@ -200,6 +205,12 @@ func TestBackendServicesGroup(t *testing.T) { ...@@ -200,6 +205,12 @@ func TestBackendServicesGroup(t *testing.T) {
} }
} }
{ {
obj := &beta.BackendService{}
if err := mock.BetaBackendServices().Insert(ctx, keyBeta, obj); err != nil {
t.Errorf("BetaBackendServices().Insert(%v, %v, %v) = %v; want nil", ctx, keyBeta, obj, err)
}
}
{
obj := &ga.BackendService{} obj := &ga.BackendService{}
if err := mock.BackendServices().Insert(ctx, keyGA, obj); err != nil { if err := mock.BackendServices().Insert(ctx, keyGA, obj); err != nil {
t.Errorf("BackendServices().Insert(%v, %v, %v) = %v; want nil", ctx, keyGA, obj, err) t.Errorf("BackendServices().Insert(%v, %v, %v) = %v; want nil", ctx, keyGA, obj, err)
...@@ -210,15 +221,20 @@ func TestBackendServicesGroup(t *testing.T) { ...@@ -210,15 +221,20 @@ func TestBackendServicesGroup(t *testing.T) {
if obj, err := mock.AlphaBackendServices().Get(ctx, key); err != nil { if obj, err := mock.AlphaBackendServices().Get(ctx, key); err != nil {
t.Errorf("AlphaBackendServices().Get(%v, %v) = %v, %v; want nil", ctx, key, obj, err) t.Errorf("AlphaBackendServices().Get(%v, %v) = %v, %v; want nil", ctx, key, obj, err)
} }
if obj, err := mock.BetaBackendServices().Get(ctx, key); err != nil {
t.Errorf("BetaBackendServices().Get(%v, %v) = %v, %v; want nil", ctx, key, obj, err)
}
if obj, err := mock.BackendServices().Get(ctx, key); err != nil { if obj, err := mock.BackendServices().Get(ctx, key); err != nil {
t.Errorf("BackendServices().Get(%v, %v) = %v, %v; want nil", ctx, key, obj, err) t.Errorf("BackendServices().Get(%v, %v) = %v, %v; want nil", ctx, key, obj, err)
} }
// List. // List.
mock.MockAlphaBackendServices.Objects[*keyAlpha] = mock.MockAlphaBackendServices.Obj(&alpha.BackendService{Name: keyAlpha.Name}) mock.MockAlphaBackendServices.Objects[*keyAlpha] = mock.MockAlphaBackendServices.Obj(&alpha.BackendService{Name: keyAlpha.Name})
mock.MockBetaBackendServices.Objects[*keyBeta] = mock.MockBetaBackendServices.Obj(&beta.BackendService{Name: keyBeta.Name})
mock.MockBackendServices.Objects[*keyGA] = mock.MockBackendServices.Obj(&ga.BackendService{Name: keyGA.Name}) mock.MockBackendServices.Objects[*keyGA] = mock.MockBackendServices.Obj(&ga.BackendService{Name: keyGA.Name})
want := map[string]bool{ want := map[string]bool{
"key-alpha": true, "key-alpha": true,
"key-beta": true,
"key-ga": true, "key-ga": true,
} }
_ = want // ignore unused variables. _ = want // ignore unused variables.
...@@ -237,6 +253,20 @@ func TestBackendServicesGroup(t *testing.T) { ...@@ -237,6 +253,20 @@ func TestBackendServicesGroup(t *testing.T) {
} }
} }
{ {
objs, err := mock.BetaBackendServices().List(ctx, filter.None)
if err != nil {
t.Errorf("BetaBackendServices().List(%v, %v, %v) = %v, %v; want _, nil", ctx, location, filter.None, objs, err)
} else {
got := map[string]bool{}
for _, obj := range objs {
got[obj.Name] = true
}
if !reflect.DeepEqual(got, want) {
t.Errorf("AlphaBackendServices().List(); got %+v, want %+v", got, want)
}
}
}
{
objs, err := mock.BackendServices().List(ctx, filter.None) objs, err := mock.BackendServices().List(ctx, filter.None)
if err != nil { if err != nil {
t.Errorf("BackendServices().List(%v, %v, %v) = %v, %v; want _, nil", ctx, location, filter.None, objs, err) t.Errorf("BackendServices().List(%v, %v, %v) = %v, %v; want _, nil", ctx, location, filter.None, objs, err)
...@@ -255,6 +285,9 @@ func TestBackendServicesGroup(t *testing.T) { ...@@ -255,6 +285,9 @@ func TestBackendServicesGroup(t *testing.T) {
if err := mock.AlphaBackendServices().Delete(ctx, keyAlpha); err != nil { if err := mock.AlphaBackendServices().Delete(ctx, keyAlpha); err != nil {
t.Errorf("AlphaBackendServices().Delete(%v, %v) = %v; want nil", ctx, keyAlpha, err) t.Errorf("AlphaBackendServices().Delete(%v, %v) = %v; want nil", ctx, keyAlpha, err)
} }
if err := mock.BetaBackendServices().Delete(ctx, keyBeta); err != nil {
t.Errorf("BetaBackendServices().Delete(%v, %v) = %v; want nil", ctx, keyBeta, err)
}
if err := mock.BackendServices().Delete(ctx, keyGA); err != nil { if err := mock.BackendServices().Delete(ctx, keyGA); err != nil {
t.Errorf("BackendServices().Delete(%v, %v) = %v; want nil", ctx, keyGA, err) t.Errorf("BackendServices().Delete(%v, %v) = %v; want nil", ctx, keyGA, err)
} }
...@@ -263,6 +296,9 @@ func TestBackendServicesGroup(t *testing.T) { ...@@ -263,6 +296,9 @@ func TestBackendServicesGroup(t *testing.T) {
if err := mock.AlphaBackendServices().Delete(ctx, keyAlpha); err == nil { if err := mock.AlphaBackendServices().Delete(ctx, keyAlpha); err == nil {
t.Errorf("AlphaBackendServices().Delete(%v, %v) = nil; want error", ctx, keyAlpha) t.Errorf("AlphaBackendServices().Delete(%v, %v) = nil; want error", ctx, keyAlpha)
} }
if err := mock.BetaBackendServices().Delete(ctx, keyBeta); err == nil {
t.Errorf("BetaBackendServices().Delete(%v, %v) = nil; want error", ctx, keyBeta)
}
if err := mock.BackendServices().Delete(ctx, keyGA); err == nil { if err := mock.BackendServices().Delete(ctx, keyGA); err == nil {
t.Errorf("BackendServices().Delete(%v, %v) = nil; want error", ctx, keyGA) t.Errorf("BackendServices().Delete(%v, %v) = nil; want error", ctx, keyGA)
} }
...@@ -1445,6 +1481,69 @@ func TestRoutesGroup(t *testing.T) { ...@@ -1445,6 +1481,69 @@ func TestRoutesGroup(t *testing.T) {
} }
} }
func TestSecurityPoliciesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyBeta := meta.GlobalKey("key-beta")
key = keyBeta
// Ignore unused variables.
_, _, _ = ctx, mock, key
// Get not found.
if _, err := mock.BetaSecurityPolicies().Get(ctx, key); err == nil {
t.Errorf("BetaSecurityPolicies().Get(%v, %v) = _, nil; want error", ctx, key)
}
// Insert.
{
obj := &beta.SecurityPolicy{}
if err := mock.BetaSecurityPolicies().Insert(ctx, keyBeta, obj); err != nil {
t.Errorf("BetaSecurityPolicies().Insert(%v, %v, %v) = %v; want nil", ctx, keyBeta, obj, err)
}
}
// Get across versions.
if obj, err := mock.BetaSecurityPolicies().Get(ctx, key); err != nil {
t.Errorf("BetaSecurityPolicies().Get(%v, %v) = %v, %v; want nil", ctx, key, obj, err)
}
// List.
mock.MockBetaSecurityPolicies.Objects[*keyBeta] = mock.MockBetaSecurityPolicies.Obj(&beta.SecurityPolicy{Name: keyBeta.Name})
want := map[string]bool{
"key-beta": true,
}
_ = want // ignore unused variables.
{
objs, err := mock.BetaSecurityPolicies().List(ctx, filter.None)
if err != nil {
t.Errorf("BetaSecurityPolicies().List(%v, %v, %v) = %v, %v; want _, nil", ctx, location, filter.None, objs, err)
} else {
got := map[string]bool{}
for _, obj := range objs {
got[obj.Name] = true
}
if !reflect.DeepEqual(got, want) {
t.Errorf("AlphaSecurityPolicies().List(); got %+v, want %+v", got, want)
}
}
}
// Delete across versions.
if err := mock.BetaSecurityPolicies().Delete(ctx, keyBeta); err != nil {
t.Errorf("BetaSecurityPolicies().Delete(%v, %v) = %v; want nil", ctx, keyBeta, err)
}
// Delete not found.
if err := mock.BetaSecurityPolicies().Delete(ctx, keyBeta); err == nil {
t.Errorf("BetaSecurityPolicies().Delete(%v, %v) = nil; want error", ctx, keyBeta)
}
}
func TestSslCertificatesGroup(t *testing.T) { func TestSslCertificatesGroup(t *testing.T) {
t.Parallel() t.Parallel()
...@@ -1830,6 +1929,7 @@ func TestResourceIDConversion(t *testing.T) { ...@@ -1830,6 +1929,7 @@ func TestResourceIDConversion(t *testing.T) {
NewRegionDisksResourceID("some-project", "us-central1", "my-disks-resource"), NewRegionDisksResourceID("some-project", "us-central1", "my-disks-resource"),
NewRegionsResourceID("some-project", "my-regions-resource"), NewRegionsResourceID("some-project", "my-regions-resource"),
NewRoutesResourceID("some-project", "my-routes-resource"), NewRoutesResourceID("some-project", "my-routes-resource"),
NewSecurityPoliciesResourceID("some-project", "my-securityPolicies-resource"),
NewSslCertificatesResourceID("some-project", "my-sslCertificates-resource"), NewSslCertificatesResourceID("some-project", "my-sslCertificates-resource"),
NewTargetHttpProxiesResourceID("some-project", "my-targetHttpProxies-resource"), NewTargetHttpProxiesResourceID("some-project", "my-targetHttpProxies-resource"),
NewTargetHttpsProxiesResourceID("some-project", "my-targetHttpsProxies-resource"), NewTargetHttpsProxiesResourceID("some-project", "my-targetHttpsProxies-resource"),
......
...@@ -108,6 +108,17 @@ var AllServices = []*ServiceInfo{ ...@@ -108,6 +108,17 @@ var AllServices = []*ServiceInfo{
}, },
}, },
{ {
Object: "BackendService",
Service: "BackendServices",
Resource: "backendServices",
version: VersionBeta,
keyType: Global,
serviceType: reflect.TypeOf(&beta.BackendServicesService{}),
additionalMethods: []string{
"SetSecurityPolicy",
},
},
{
Object: "BackendService", Object: "BackendService",
Service: "BackendServices", Service: "BackendServices",
Resource: "backendServices", Resource: "backendServices",
...@@ -328,6 +339,14 @@ var AllServices = []*ServiceInfo{ ...@@ -328,6 +339,14 @@ var AllServices = []*ServiceInfo{
serviceType: reflect.TypeOf(&ga.RoutesService{}), serviceType: reflect.TypeOf(&ga.RoutesService{}),
}, },
{ {
Object: "SecurityPolicy",
Service: "SecurityPolicies",
Resource: "securityPolicies",
version: VersionBeta,
keyType: Global,
serviceType: reflect.TypeOf(&beta.SecurityPoliciesService{}),
},
{
Object: "SslCertificate", Object: "SslCertificate",
Service: "SslCertificates", Service: "SslCertificates",
Resource: "sslCertificates", Resource: "sslCertificates",
......
...@@ -20,6 +20,7 @@ import ( ...@@ -20,6 +20,7 @@ import (
"context" "context"
computealpha "google.golang.org/api/compute/v0.alpha" computealpha "google.golang.org/api/compute/v0.alpha"
computebeta "google.golang.org/api/compute/v0.beta"
compute "google.golang.org/api/compute/v1" compute "google.golang.org/api/compute/v1"
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce/cloud/filter" "k8s.io/kubernetes/pkg/cloudprovider/providers/gce/cloud/filter"
...@@ -139,3 +140,10 @@ func (gce *GCECloud) GetRegionalBackendServiceHealth(name, region string, instan ...@@ -139,3 +140,10 @@ func (gce *GCECloud) GetRegionalBackendServiceHealth(name, region string, instan
v, err := gce.c.RegionBackendServices().GetHealth(context.Background(), meta.RegionalKey(name, region), ref) v, err := gce.c.RegionBackendServices().GetHealth(context.Background(), meta.RegionalKey(name, region), ref)
return v, mc.Observe(err) return v, mc.Observe(err)
} }
// SetSecurityPolicyForBetaGlobalBackendService sets the given
// SecurityPolicyReference for the BackendService identified by the given name.
func (gce *GCECloud) SetSecurityPolicyForBetaGlobalBackendService(backendServiceName string, securityPolicyReference *computebeta.SecurityPolicyReference) error {
mc := newBackendServiceMetricContextWithVersion("set_security_policy", "", computeBetaVersion)
return mc.Observe(gce.c.BetaBackendServices().SetSecurityPolicy(context.Background(), meta.GlobalKey(backendServiceName), securityPolicyReference))
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment