From d95584b116bb0438bd6d26b45846658873f119ef Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Fri, 31 Jul 2020 18:03:05 +0800 Subject: [PATCH] Feature/yousong lblis names (#7395) * apis: compute: move struct defs * lblisteners: list: show certificate name * lblisteners: list: show acl name * lblisteners: remove unused acl_name field --- pkg/apis/compute/cachedloadbalanceracl.go | 21 --------------- .../compute/cachedloadbalancercertificate.go | 21 --------------- pkg/apis/compute/loadbalanceracl.go | 21 +++++++++++++++ pkg/apis/compute/loadbalancercertificate.go | 21 +++++++++++++++ pkg/apis/compute/loadbalancerlistener.go | 3 ++- pkg/compute/models/loadbalanceraclresource.go | 2 +- .../models/loadbalancercertificateresource.go | 2 +- pkg/compute/models/loadbalancerlisteners.go | 27 ++++++++++--------- 8 files changed, 61 insertions(+), 57 deletions(-) diff --git a/pkg/apis/compute/cachedloadbalanceracl.go b/pkg/apis/compute/cachedloadbalanceracl.go index 0a8866f5e0..89281402ef 100644 --- a/pkg/apis/compute/cachedloadbalanceracl.go +++ b/pkg/apis/compute/cachedloadbalanceracl.go @@ -30,24 +30,3 @@ type CachedLoadbalancerAclListInput struct { ManagedResourceListInput LoadbalancerAclFilterListInput } - -type LoadbalancerAclResourceInfo struct { - // 负载均衡ACL名称 - Acl string `json:"acl"` -} - -type LoadbalancerAclResourceInput struct { - // ACL名称或ID - AclId string `json:"acl_id"` - - // swagger:ignore - // Deprecated - Acl string `json:"acl" "yunion:deprecated-by":"acl_id"` -} - -type LoadbalancerAclFilterListInput struct { - LoadbalancerAclResourceInput - - // 以ACL名称排序 - OrderByAcl string `json:"order_by_acl"` -} diff --git a/pkg/apis/compute/cachedloadbalancercertificate.go b/pkg/apis/compute/cachedloadbalancercertificate.go index dbf3281fe1..15f371f7a2 100644 --- a/pkg/apis/compute/cachedloadbalancercertificate.go +++ b/pkg/apis/compute/cachedloadbalancercertificate.go @@ -31,24 +31,3 @@ type CachedLoadbalancerCertificateListInput struct { RegionalFilterListInput LoadbalancerCertificateFilterListInput } - -type LoadbalancerCertificateResourceInfo struct { - // 负载均衡证书名称 - Certificate string `json:"certificate"` -} - -type LoadbalancerCertificateResourceInput struct { - // 证书名称或ID - CertificateId string `json:"certificate_id"` - - // swagger:ignore - // Deprecated - Certificate string `json:"certificate" "yunion:deprecated-by":"certificate_id"` -} - -type LoadbalancerCertificateFilterListInput struct { - LoadbalancerCertificateResourceInput - - // 以证书名称排序 - OrderByCertificate string `json:"order_by_certificate"` -} diff --git a/pkg/apis/compute/loadbalanceracl.go b/pkg/apis/compute/loadbalanceracl.go index d666f6784c..4837a24b80 100644 --- a/pkg/apis/compute/loadbalanceracl.go +++ b/pkg/apis/compute/loadbalanceracl.go @@ -23,3 +23,24 @@ type LoadbalancerAclDetails struct { SLoadbalancerAcl } + +type LoadbalancerAclResourceInfo struct { + // 负载均衡ACL名称 + Acl string `json:"acl"` +} + +type LoadbalancerAclResourceInput struct { + // ACL名称或ID + AclId string `json:"acl_id"` + + // swagger:ignore + // Deprecated + Acl string `json:"acl" "yunion:deprecated-by":"acl_id"` +} + +type LoadbalancerAclFilterListInput struct { + LoadbalancerAclResourceInput + + // 以ACL名称排序 + OrderByAcl string `json:"order_by_acl"` +} diff --git a/pkg/apis/compute/loadbalancercertificate.go b/pkg/apis/compute/loadbalancercertificate.go index c7dba5dfbd..553101a3f6 100644 --- a/pkg/apis/compute/loadbalancercertificate.go +++ b/pkg/apis/compute/loadbalancercertificate.go @@ -20,3 +20,24 @@ type LoadbalancerCertificateDetails struct { apis.VirtualResourceDetails SLoadbalancerCertificate } + +type LoadbalancerCertificateResourceInfo struct { + // 负载均衡证书名称 + Certificate string `json:"certificate"` +} + +type LoadbalancerCertificateResourceInput struct { + // 证书名称或ID + Certificate string `json:"certificate"` + + // swagger:ignore + // Deprecated + CertificateId string `json:"certificate_id" "yunion:deprecated-by":"certificate"` +} + +type LoadbalancerCertificateFilterListInput struct { + LoadbalancerCertificateResourceInput + + // 以证书名称排序 + OrderByCertificate string `json:"order_by_certificate"` +} diff --git a/pkg/apis/compute/loadbalancerlistener.go b/pkg/apis/compute/loadbalancerlistener.go index e1293c5cc0..24d2099085 100644 --- a/pkg/apis/compute/loadbalancerlistener.go +++ b/pkg/apis/compute/loadbalancerlistener.go @@ -19,11 +19,12 @@ import "yunion.io/x/onecloud/pkg/apis" type LoadbalancerListenerDetails struct { apis.VirtualResourceDetails LoadbalancerResourceInfo + LoadbalancerAclResourceInfo + LoadbalancerCertificateResourceInfo SLoadbalancerListener BackendGroup string `json:"backend_group"` - AclName string `json:"acl_name"` CertificateName string `json:"certificate_name"` OriginCertificateId string `json:"origin_certificate_id"` } diff --git a/pkg/compute/models/loadbalanceraclresource.go b/pkg/compute/models/loadbalanceraclresource.go index 62ef40e2c5..aa85fe1c9d 100644 --- a/pkg/compute/models/loadbalanceraclresource.go +++ b/pkg/compute/models/loadbalanceraclresource.go @@ -33,7 +33,7 @@ import ( type SLoadbalancerAclResourceBase struct { // 本地Acl ID - AclId string `width:"128" charset:"ascii" nullable:"false" create:"required" index:"true" list:"user" json:"acl_id"` + AclId string `width:"36" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` } type SLoadbalancerAclResourceBaseManager struct{} diff --git a/pkg/compute/models/loadbalancercertificateresource.go b/pkg/compute/models/loadbalancercertificateresource.go index 9305552593..aa6d8e6fa3 100644 --- a/pkg/compute/models/loadbalancercertificateresource.go +++ b/pkg/compute/models/loadbalancercertificateresource.go @@ -33,7 +33,7 @@ import ( type SLoadbalancerCertificateResourceBase struct { // 本地负载均衡证书ID - CertificateId string `width:"36" charset:"ascii" nullable:"false" create:"required" index:"true" list:"user" json:"certificate_id"` + CertificateId string `width:"36" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` } type SLoadbalancerCertificateResourceBaseManager struct{} diff --git a/pkg/compute/models/loadbalancerlisteners.go b/pkg/compute/models/loadbalancerlisteners.go index 193b321371..33daafba45 100644 --- a/pkg/compute/models/loadbalancerlisteners.go +++ b/pkg/compute/models/loadbalancerlisteners.go @@ -42,7 +42,10 @@ type SLoadbalancerListenerManager struct { SLoadbalancerLogSkipper db.SVirtualResourceBaseManager db.SExternalizedResourceBaseManager + SLoadbalancerResourceBaseManager + SLoadbalancerAclResourceBaseManager + SLoadbalancerCertificateResourceBaseManager } var LoadbalancerListenerManager *SLoadbalancerListenerManager @@ -114,7 +117,8 @@ type SLoadbalancerHTTPRedirect struct { // - Use certificate for tcp listener // - Customize ciphers? type SLoadbalancerHTTPSListener struct { - CertificateId string `width:"36" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` + SLoadbalancerCertificateResourceBase + CachedCertificateId string `width:"36" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` TLSCipherPolicy string `width:"36" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` EnableHttp2 bool `create:"optional" list:"user" update:"user"` @@ -141,10 +145,10 @@ type SLoadbalancerListener struct { BackendConnectTimeout int `nullable:"true" list:"user" create:"optional" update:"user"` // 后端连接超时时间 BackendIdleTimeout int `nullable:"true" list:"user" create:"optional" update:"user"` // 后端连接空闲时间 - AclStatus string `width:"16" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` - AclType string `width:"16" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` - AclId string `width:"36" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` - CachedAclId string `width:"36" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` + AclStatus string `width:"16" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` + AclType string `width:"16" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` + SLoadbalancerAclResourceBase `width:"36" charset:"ascii" nullable:"true" list:"user" create:"optional"` + CachedAclId string `width:"36" charset:"ascii" nullable:"true" list:"user" create:"optional" update:"user"` SLoadbalancerRateLimiter @@ -505,11 +509,6 @@ func (lblis *SLoadbalancerListener) getMoreDetails(out api.LoadbalancerListenerD out.BackendGroup = lbbg.GetName() } } - if len(lblis.AclId) > 0 { - if acl := lblis.GetCachedLoadbalancerAcl(); acl != nil { - out.AclName = acl.Name - } - } if len(lblis.CertificateId) > 0 { if cert, _ := lblis.GetLoadbalancerCertificate(); cert != nil { @@ -533,11 +532,15 @@ func (manager *SLoadbalancerListenerManager) FetchCustomizeColumns( virtRows := manager.SVirtualResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList) lbRows := manager.SLoadbalancerResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList) + lbaclRows := manager.SLoadbalancerAclResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList) + lbcertRows := manager.SLoadbalancerCertificateResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList) for i := range rows { rows[i] = api.LoadbalancerListenerDetails{ - VirtualResourceDetails: virtRows[i], - LoadbalancerResourceInfo: lbRows[i], + VirtualResourceDetails: virtRows[i], + LoadbalancerResourceInfo: lbRows[i], + LoadbalancerAclResourceInfo: lbaclRows[i], + LoadbalancerCertificateResourceInfo: lbcertRows[i], } rows[i], _ = objs[i].(*SLoadbalancerListener).getMoreDetails(rows[i]) }