添加region driver

This commit is contained in:
屈轩
2019-01-25 14:54:27 +08:00
parent fc0af0d6f9
commit 2df78f917f
62 changed files with 2791 additions and 89 deletions
+24
View File
@@ -84,6 +84,22 @@ func (region *SFakeOnPremiseRegion) GetILoadBalancers() ([]ICloudLoadbalancer, e
return nil, ErrNotSupported
}
func (region *SFakeOnPremiseRegion) GetILoadBalancerById(loadbalancerId string) (ICloudLoadbalancer, error) {
return nil, ErrNotSupported
}
func (region *SFakeOnPremiseRegion) GetILoadBalancerAclById(aclId string) (ICloudLoadbalancerAcl, error) {
return nil, ErrNotSupported
}
func (region *SFakeOnPremiseRegion) GetILoadBalancerCertificateById(certId string) (ICloudLoadbalancerCertificate, error) {
return nil, ErrNotSupported
}
func (region *SFakeOnPremiseRegion) CreateILoadBalancerCertificate(name string, privateKey, certificate string) (ICloudLoadbalancerCertificate, error) {
return nil, ErrNotImplemented
}
func (region *SFakeOnPremiseRegion) GetILoadbalancerAcls() ([]ICloudLoadbalancerAcl, error) {
return nil, ErrNotSupported
}
@@ -91,3 +107,11 @@ func (region *SFakeOnPremiseRegion) GetILoadbalancerAcls() ([]ICloudLoadbalancer
func (region *SFakeOnPremiseRegion) GetILoadbalancerCertificates() ([]ICloudLoadbalancerCertificate, error) {
return nil, ErrNotSupported
}
func (region *SFakeOnPremiseRegion) CreateILoadBalancer(loadbalancer *SLoadbalancer) (ICloudLoadbalancer, error) {
return nil, ErrNotSupported
}
func (region *SFakeOnPremiseRegion) CreateILoadBalancerAcl(acl *SLoadbalancerAccessControlList) (ICloudLoadbalancerAcl, error) {
return nil, ErrNotSupported
}
+16
View File
@@ -0,0 +1,16 @@
package cloudprovider
import "yunion.io/x/onecloud/pkg/util/billing"
type SLoadbalancer struct {
Name string
ZoneID string
VpcID string
NetworkID string
Address string
AddressType string
LoadbalancerSpec string
ChargeType string
Bandwidth int
billingCycle *billing.SBillingCycle
}
+11
View File
@@ -0,0 +1,11 @@
package cloudprovider
type SLoadbalancerAccessControlListEntry struct {
CIDR string
Comment string
}
type SLoadbalancerAccessControlList struct {
Name string
Entrys []SLoadbalancerAccessControlListEntry
}
+13
View File
@@ -0,0 +1,13 @@
package cloudprovider
type SLoadbalancerBackend struct {
Index int
Weight int
Port int
ID string
Name string
ExternalID string
BackendType string
BackendRole string
Address string
}
+15
View File
@@ -0,0 +1,15 @@
package cloudprovider
type SLoadbalancerListener struct {
Name string
LoadbalancerID string
ListenerType string
ListenerPort int
BackendGroupID string
Scheduler string
AccessControlListStatus string
AccessControlListType string
AccessControlListID string
EnableHTTP2 bool
CertificateID string
}
+24
View File
@@ -66,6 +66,14 @@ type ICloudRegion interface {
GetILoadbalancerAcls() ([]ICloudLoadbalancerAcl, error)
GetILoadbalancerCertificates() ([]ICloudLoadbalancerCertificate, error)
GetILoadBalancerById(loadbalancerId string) (ICloudLoadbalancer, error)
GetILoadBalancerAclById(aclId string) (ICloudLoadbalancerAcl, error)
GetILoadBalancerCertificateById(certId string) (ICloudLoadbalancerCertificate, error)
CreateILoadBalancer(loadbalancer *SLoadbalancer) (ICloudLoadbalancer, error)
CreateILoadBalancerAcl(acl *SLoadbalancerAccessControlList) (ICloudLoadbalancerAcl, error)
CreateILoadBalancerCertificate(name string, privateKey, certificate string) (ICloudLoadbalancerCertificate, error)
GetProvider() string
}
@@ -400,9 +408,16 @@ type ICloudLoadbalancer interface {
GetNetworkId() string
GetVpcId() string
GetZoneId() string
GetLoadbalancerSpec() string
GetChargeType() string
Delete() error
GetILoadbalancerListeners() ([]ICloudLoadbalancerListener, error)
GetILoadbalancerBackendGroups() ([]ICloudLoadbalancerBackendGroup, error)
CreateILoadBalancerBackendGroup(name string, groupType string, backends []SLoadbalancerBackend) (ICloudLoadbalancerBackendGroup, error)
GetILoadbalancerBackendGroupById(groupId string) (ICloudLoadbalancerBackendGroup, error)
}
type ICloudLoadbalancerListener interface {
@@ -459,6 +474,11 @@ type ICloudLoadbalancerBackendGroup interface {
IsDefault() bool
GetType() string
GetILoadbalancerBackends() ([]ICloudLoadbalancerBackend, error)
AddBackendServer(serverId string, weight int, port int) (ICloudLoadbalancerBackend, error)
RemoveBackendServer(serverId string) error
Delete() error
Sync(name string) error
}
type ICloudLoadbalancerBackend interface {
@@ -474,6 +494,9 @@ type ICloudLoadbalancerBackend interface {
type ICloudLoadbalancerCertificate interface {
ICloudResource
Sync(name, privateKey, publickKey string) error
Delete() error
GetCommonName() string
GetSubjectAlternativeNames() string
GetFingerprint() string // return value format: <algo>:<fingerprint>,比如sha1:7454a14fdb8ae1ea8b2f72e458a24a76bd23ec19
@@ -495,4 +518,5 @@ type ICloudLoadbalancerAcl interface {
// }
// ]
GetAclEntries() *jsonutils.JSONArray
Delete() error
}