feat(region): add mongodb

This commit is contained in:
Qu Xuan
2021-07-05 16:49:48 +08:00
parent 11b04454f2
commit 69a6aedf17
29 changed files with 2483 additions and 14 deletions
+1
View File
@@ -57,6 +57,7 @@ const (
CLOUD_CAPABILITY_NAT = "nat" // NAT网关
CLOUD_CAPABILITY_NAS = "nas" // NAS
CLOUD_CAPABILITY_WAF = "waf" // WAF
CLOUD_CAPABILITY_MONGO_DB = "mongodb" // MongoDB
)
const (
+55
View File
@@ -0,0 +1,55 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package cloudprovider
import "time"
// 备份状态
type TMongoDBBackupStatus string
// 备份方法
type TMongoDBBackupMethod string
// 备份方式
type TMongoDBBackupType string
const (
MongoDBBackupStatusCreating = TMongoDBBackupStatus("creating")
MongoDBBackupStatusAvailable = TMongoDBBackupStatus("available")
MongoDBBackupStatusFailed = TMongoDBBackupStatus("failed")
MongoDBBackupStatusUnknown = TMongoDBBackupStatus("unknown")
MongoDBBackupMethodPhysical = TMongoDBBackupMethod("physical")
MongoDBBackupMethodLogical = TMongoDBBackupMethod("logical")
MongoDBBackupTypeAuto = TMongoDBBackupType("auto")
MongoDBBackupTypeManual = TMongoDBBackupType("manual")
)
type SMongoDBBackup struct {
Name string
Description string
StartTime time.Time
EndTime time.Time
Status TMongoDBBackupStatus
BackupMethod TMongoDBBackupMethod
BackupType TMongoDBBackupType
BackupSizeKb int
}
type SMongoDBBackups struct {
Data []SMongoDBBackup
Total int
}
+27
View File
@@ -174,6 +174,9 @@ type ICloudRegion interface {
GetICloudWafInstanceById(id string) (ICloudWafInstance, error)
CreateICloudWafInstance(opts *WafCreateOptions) (ICloudWafInstance, error)
GetICloudWafRuleGroups() ([]ICloudWafRuleGroup, error)
GetICloudMongoDBs() ([]ICloudMongoDB, error)
GetICloudMongoDBById(id string) (ICloudMongoDB, error)
}
type ICloudZone interface {
@@ -1345,3 +1348,27 @@ type ICloudWafRule interface {
Update(opts *SWafRule) error
Delete() error
}
type ICloudMongoDB interface {
IVirtualResource
IBillingResource
GetVpcId() string
GetNetworkId() string
GetIpAddr() string
GetVcpuCount() int
GetVmemSizeMb() int
GetDiskSizeMb() int
GetZoneId() string
GetReplicationNum() int
GetCategory() string
GetEngine() string
GetEngineVersion() string
GetInstanceType() string
GetMaintainTime() string
GetPort() int
GetIBackups() ([]SMongoDBBackup, error)
Delete() error
}