mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
feat(region): add mongodb
This commit is contained in:
@@ -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 (
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user