Documentation
¶
Overview ¶
Copyright 2023 The Cloud-Barista Authors.
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.
Copyright 2023 The Cloud-Barista Authors.
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.
Copyright 2023 The Cloud-Barista Authors.
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.
Copyright 2023 The Cloud-Barista Authors.
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.
Copyright 2023 The Cloud-Barista Authors.
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.
Copyright 2023 The Cloud-Barista Authors.
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.
Copyright 2023 The Cloud-Barista Authors.
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.
Index ¶
- type APICredentialParams
- type AWSCredentials
- type AWSMigrationParams
- type AlibabaCredentials
- type BackupTask
- type BaseParams
- type BaseProfile
- type BasicBackupTask
- type BasicDataTask
- type BasicFlow
- type BasicPageResponse
- type BasicResponse
- type BasicSchedule
- type BasicTask
- type Bucket
- type BucketListResponse
- type CloudServiceType
- type CommandTask
- type ConnectionConfig
- type ConnectionConfigList
- type Contents
- type CredParams
- type Credential
- type CredentialCreateRequest
- type CredentialListResponse
- type CredentialParams
- type DataTask
- type DeleteRequest
- type DiagnoseResponse
- type DiagnosticTask
- type FileFormatParams
- type FileSizeParams
- type FirestoreParams
- type Flow
- type GCPCredentalCreateParams
- type GCPCredentials
- type GCPMigrationParams
- type GcpNosqlParams
- type GenDataParams
- type GenFileParams
- type GenMySQLParams
- type GenTaskTarget
- type GenarateTask
- type LinuxMigrationParams
- type ListAllMyBucketsResult
- type ListBucketResult
- type Location
- type MigrateTask
- type MigrationForm
- type MigrationMySQLForm
- type MigrationMySQLParams
- type MigrationParams
- type MongoMigrationParams
- type MySQLParams
- type NCPCredentials
- type NCPMigrationParams
- type NoSQLParams
- type Object
- type ObjectFilterParams
- type ObjectStorageParams
- type OperationParams
- type Owner
- type ProfileCredentials
- type Provider
- type ProviderConfig
- type ProviderParams
- type PublicKeyResponse
- type RegionDetail
- type RegionParams
- type RegionZoneInfo
- type RestoreTask
- type S3Object
- type Schedule
- type ServiceType
- type SimpleBuckets
- type Status
- type StatusParams
- type SysbenchParams
- type SysbenchResponse
- type TagParams
- type Task
- type TaskMeta
- type TaskType
- type TumblebugCredentialCreate
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APICredentialParams ¶
type AWSCredentials ¶
type AWSMigrationParams ¶
type AWSMigrationParams struct {
ObjectStorageParams
}
type AlibabaCredentials ¶ added in v0.5.3
type BackupTask ¶
type BackupTask struct {
BasicTask
Directory string `json:"Directory,omitempty" swaggerignore:"true"`
SourcePoint ProviderConfig `json:"sourcePoint,omitempty"`
TargetPoint ProviderConfig `json:"targetPoint,omitempty"`
SourceFilter *ObjectFilterParams `json:"sourceFilter,omitempty"`
}
type BaseParams ¶
type BaseParams struct {
ProviderParams
RegionParams
// ProfileParams
CredentialParams
}
type BaseProfile ¶
type BaseProfile struct {
ProfileName string `json:"profileName" form:"profileName"`
}
type BasicBackupTask ¶
type BasicBackupTask struct {
BasicTask
SourcePoint ProviderConfig `json:"sourcePoint,omitempty"`
TargetPoint ProviderConfig `json:"targetPoint,omitempty"`
}
type BasicDataTask ¶
type BasicDataTask struct {
BasicTask
Directory string `json:"Directory,omitempty" swaggerignore:"true"`
Dummy GenFileParams `json:"dummy"`
SourcePoint ProviderConfig `json:"sourcePoint,omitempty"`
TargetPoint ProviderConfig `json:"targetPoint,omitempty"`
SourceFilter *ObjectFilterParams `json:"sourceFilter,omitempty"`
}
type BasicPageResponse ¶
type BasicPageResponse struct {
Content string `json:"Content"`
Error *string `json:"Error"`
OS string `json:"OS"`
TmpPath string `json:"TmpPath"`
Regions []string `json:"Regions"`
AWSRegions []string `json:"AWSRegions"`
GCPRegions []string `json:"GCPRegions"`
NCPRegions []string `json:"NCPRegions"`
ALIBABARegions []string `json:"ALIBABARegions"`
}
type BasicResponse ¶
type BasicSchedule ¶
type BasicSchedule struct {
ScheduleID string `json:"ScheduleID,omitempty"`
ScheduleName string `json:"ScheduleName"`
Tasks []BasicDataTask `json:"tasks"`
Cron string `json:"cron,omitempty"`
StartTime *time.Time `json:"startTime,omitempty"`
TimeZone string `json:"tz,omitempty"`
Status Status `json:"status"`
}
type BucketListResponse ¶ added in v0.4.7
type BucketListResponse struct {
Buckets []Bucket `json:"buckets"`
}
type CloudServiceType ¶
type CloudServiceType string
Service type
const ( ComputeService CloudServiceType = "compute" ObejectStorage CloudServiceType = "objectstorage" RDBMS CloudServiceType = "rdbms" NRDBMS CloudServiceType = "nrdbms" )
type CommandTask ¶
type CommandTask struct {
Task
TaskFilePath string
GenFileParams
SourcePoint ProviderConfig `json:"sourcePoint,omitempty"`
TargetPoint ProviderConfig `json:"targetPoint,omitempty"`
DeleteDBList []string
DeleteTableList []string
}
type ConnectionConfig ¶ added in v0.4.7
type ConnectionConfig struct {
ConfigName string `json:"configName"`
ProviderName string `json:"providerName"`
DriverName string `json:"driverName"`
CredentialName string `json:"credentialName"`
CredentialHolder string `json:"credentialHolder"`
RegionZoneInfoName string `json:"regionZoneInfoName"`
RegionZoneInfo RegionZoneInfo `json:"regionZoneInfo"`
RegionDetail RegionDetail `json:"regionDetail"`
RegionRepresentative bool `json:"regionRepresentative"`
Verified bool `json:"verified"`
}
각 ConnectionConfig 항목
type ConnectionConfigList ¶ added in v0.4.7
type ConnectionConfigList struct {
ConnectionConfig []ConnectionConfig `json:"connectionconfig"`
}
전체 루트 구조
type CredParams ¶
type Credential ¶ added in v0.4.1
type Credential struct {
CredentialId uint64 `gorm:"column:credentialId;primaryKey;autoIncrement" json:"credentialId"`
CspType string `gorm:"column:cspType;size:50;not null" json:"cspType"`
Name string `gorm:"column:name;size:150" json:"name,omitempty"`
CredentialJson string `gorm:"column:credentialJson;type:longtext" json:"credentialJson,omitempty"`
CreatedAt time.Time `gorm:"column:createAt;autoCreateTime" json:"createdAt"`
UpdatedAt time.Time `gorm:"column:updateAt;autoUpdateTime" json:"updatedAt,omitempty"`
}
func (Credential) TableName ¶ added in v0.4.1
func (Credential) TableName() string
TableName 명시 (Go struct -> DB 테이블명 매핑)
type CredentialCreateRequest ¶ added in v0.4.1
type CredentialCreateRequest struct {
CspType string `json:"cspType"`
Name string `json:"name,omitempty"`
CredentialJson json.RawMessage `json:"credentialJson,omitempty" swaggertype:"object"`
S3AccessKey string `json:"s3AccessKey"`
S3SecretKey string `json:"s3SecretKey"`
}
func (*CredentialCreateRequest) GetCredential ¶ added in v0.4.1
func (cr *CredentialCreateRequest) GetCredential() (string, error)
type CredentialListResponse ¶ added in v0.4.1
type CredentialParams ¶ added in v0.4.1
type CredentialParams struct {
CredentialId int64 `json:"credentialId" form:"credentialId"`
}
type DataTask ¶
type DataTask struct {
OperationParams
BasicDataTask
}
type DeleteRequest ¶ added in v0.4.7
type DiagnoseResponse ¶ added in v0.4.3
type DiagnoseResponse struct {
Result string `json:"Result"`
Diagnostics diagnostics.TimedResult `json:"Diagnostics,omitempty"`
Error *string `json:"Error"`
}
type DiagnosticTask ¶ added in v0.4.3
type DiagnosticTask struct {
SysbenchParams
StatusParams
Time int64 `json:"time"`
}
type FileFormatParams ¶
type FileFormatParams struct {
CheckSQL bool `json:"checkSQL" form:"checkSQL"`
CheckCSV bool `json:"checkCSV" form:"checkCSV"`
CheckTXT bool `json:"checkTXT" form:"checkTXT"`
CheckPNG bool `json:"checkPNG" form:"checkPNG"`
CheckGIF bool `json:"checkGIF" form:"checkGIF"`
CheckZIP bool `json:"checkZIP" form:"checkZIP"`
CheckJSON bool `json:"checkJSON" form:"checkJSON"`
CheckXML bool `json:"checkXML" form:"checkXML"`
CheckServerJSON bool `json:"checkServerJSON" form:"checkServerJSON"`
CheckServerSQL bool `json:"checkServerSQL" form:"checkServerSQL"`
}
type FileSizeParams ¶
type FileSizeParams struct {
SizeSQL string `json:"sizeSQL" form:"sizeSQL"`
SizeCSV string `json:"sizeCSV" form:"sizeCSV"`
SizeTXT string `json:"sizeTXT" form:"sizeTXT"`
SizePNG string `json:"sizePNG" form:"sizePNG"`
SizeGIF string `json:"sizeGIF" form:"sizeGIF"`
SizeZIP string `json:"sizeZIP" form:"sizeZIP"`
SizeJSON string `json:"sizeJSON" form:"sizeJSON"`
SizeXML string `json:"sizeXML" form:"sizeXML"`
SizeServerJSON string `json:"sizeServerJSON" form:"sizeServerJSON"`
SizeServerSQL string `json:"sizeServerSQL" form:"sizeServerSQL"`
}
type FirestoreParams ¶
type Flow ¶
type Flow struct {
OperationParams
BasicFlow
}
type GCPCredentalCreateParams ¶
type GCPCredentalCreateParams struct {
GCPCredentialJson string `form:"gcpCredentialJson" json:"gcpCredentialJson"`
GCPCredential *multipart.FileHeader `form:"gcpCredential" json:"-" swaggerignore:"true"`
}
type GCPCredentials ¶
type GCPCredentials struct {
Type string `json:"type" form:"type"`
ProjectID string `json:"project_id" form:"project_id"`
PrivateKeyID string `json:"private_key_id" form:"private_key_id"`
PrivateKey string `json:"private_key" form:"private_key"`
ClientEmail string `json:"client_email" form:"client_email"`
ClientID string `json:"client_id" form:"client_id"`
AuthURI string `json:"auth_uri" form:"auth_uri"`
TokenURI string `json:"token_uri" form:"token_uri"`
AuthProviderCertURL string `json:"auth_provider_x509_cert_url" form:"auth_provider_x509_cert_url"`
ClientCertURL string `json:"client_x509_cert_url" form:"client_x509_cert_url"`
UniverseDomain string `json:"universe_domain" form:"universe_domain"`
}
type GCPMigrationParams ¶
type GcpNosqlParams ¶
type GenDataParams ¶
type GenDataParams struct {
OperationParams
BaseParams
ObjectStorageParams
GenFileParams
MySQLParams
FirestoreParams
}
type GenFileParams ¶
type GenFileParams struct {
Directory string `json:"Directory,omitempty" swaggerignore:"true"`
DummyPath string `json:"dummyPath,omitempty" swaggerignore:"true"`
FileFormatParams
FileSizeParams
}
type GenMySQLParams ¶
type GenMySQLParams struct {
BaseParams
MySQLParams
}
type GenTaskTarget ¶
type GenTaskTarget struct {
ProviderConfig
GenFileParams
}
type GenarateTask ¶
type GenarateTask struct {
Task
Dummy GenFileParams `json:"dummy"`
TargetPoint ProviderConfig `json:"targetPoint"`
}
type LinuxMigrationParams ¶
type LinuxMigrationParams struct {
Path string `json:"path" form:"path"`
}
type ListAllMyBucketsResult ¶ added in v0.4.7
type ListBucketResult ¶ added in v0.4.7
type Location ¶ added in v0.4.7
type Location struct {
Display string `json:"display"`
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
}
location 구조
type MigrateTask ¶
type MigrateTask struct {
BasicTask
Directory string `json:"Directory,omitempty" swaggerignore:"true"`
SourcePoint ProviderConfig `json:"sourcePoint,omitempty"`
TargetPoint ProviderConfig `json:"targetPoint,omitempty"`
SourceFilter *ObjectFilterParams `json:"sourceFilter,omitempty"`
}
type MigrationForm ¶
type MigrationForm struct {
OperationParams
BaseParams
LinuxMigrationParams
//src
SrcProvider ProviderConfig
//dst
DstProvider ProviderConfig
AWSMigrationParams
GCPCredentalCreateParams
NCPCredentials
MongoMigrationParams
ObjectStorageParams
}
type MigrationMySQLForm ¶
type MigrationMySQLForm struct {
SProvider string `json:"srcProvider" form:"srcProvider"`
SHost string `json:"srcHost" form:"srcHost"`
SPort string `json:"srcPort" form:"srcPort"`
SUsername string `json:"srcUsername" form:"srcUsername"`
SPassword string `json:"srcPassword" form:"srcPassword"`
SDatabaseName string `json:"srcDatabaseName" form:"srcDatabaseName"`
DProvider string `json:"destProvider" form:"destProvider"`
DHost string `json:"destHost" form:"destHost"`
DPort string `json:"destPort" form:"destPort"`
DUsername string `json:"destUsername" form:"destUsername"`
DPassword string `json:"destPassword" form:"destPassword"`
DDatabaseName string `json:"destDatabaseName" form:"destDatabaseName"`
}
type MigrationMySQLParams ¶
type MigrationMySQLParams struct {
SourcePoint MySQLParams
TargetPoint MySQLParams
}
type MigrationParams ¶
type MigrationParams struct {
OperationParams
//src
SrcProvider ProviderConfig
//dst
DstProvider ProviderConfig
}
type MongoMigrationParams ¶
type MySQLParams ¶
type NCPCredentials ¶
type NCPMigrationParams ¶
type NCPMigrationParams struct {
ObjectStorageParams
}
type NoSQLParams ¶
type NoSQLParams struct {
GcpNosqlParams
}
type Object ¶
type Object struct {
ChecksumAlgorithm []string
ETag string
Key string
LastModified time.Time
Size int64
StorageClass string
Provider
}
object
type ObjectFilterParams ¶ added in v0.4.3
type ObjectFilterParams struct {
Path string `json:"path"`
PathExcludeYn string `json:"pathExcludeYn"`
Contains []string `json:"contains"`
ContainExcludeYn string `json:"containExcludeYn"`
Suffixes []string `json:"suffixes"`
Exact []string `json:"exact"`
MinSize *float64 `json:"minSize"`
MaxSize *float64 `json:"maxSize"`
ModifiedAfter *string `json:"modifiedAfter"`
ModifiedBefore *string `json:"modifiedBefore"`
SizeFilteringUnit string `json:"sizeFilteringUnit"`
}
type ObjectStorageParams ¶
type OperationParams ¶
type OperationParams struct {
OperationId string `json:"operationId" form:"operationId"`
}
type ProfileCredentials ¶
type ProfileCredentials struct {
AWS AWSCredentials `json:"aws,omitempty"`
NCP NCPCredentials `json:"ncp,omitempty"`
GCP GCPCredentials `json:"gcp,omitempty"`
ALIBABA AlibabaCredentials `json:"alibaba,omitempty"`
}
type ProviderConfig ¶
type ProviderConfig struct {
// common
BaseParams
// linux,win
LinuxMigrationParams
// osc
ObjectStorageParams
// RDB
MySQLParams
// NRDB
NoSQLParams
}
type ProviderParams ¶
type ProviderParams struct {
Provider string `json:"provider" form:"provider"`
}
type PublicKeyResponse ¶ added in v0.4.7
type RegionDetail ¶ added in v0.4.7
type RegionDetail struct {
RegionID string `json:"regionId"`
RegionName string `json:"regionName"`
Description string `json:"description"`
Location Location `json:"location"`
Zones []string `json:"zones"`
}
regionDetail 구조
type RegionParams ¶
type RegionParams struct {
Region string `json:"region" form:"region"`
}
type RegionZoneInfo ¶ added in v0.4.7
type RegionZoneInfo struct {
AssignedRegion string `json:"assignedRegion"`
AssignedZone string `json:"assignedZone"`
}
regionZoneInfo 구조
type RestoreTask ¶
type RestoreTask struct {
DataTask
}
type Schedule ¶
type Schedule struct {
OperationParams
TagParams
BasicSchedule
}
type ServiceType ¶
type ServiceType struct {
Type CloudServiceType `json:"type" form:"type"` // The type of cloud service
}
type SimpleBuckets ¶ added in v0.4.7
type SimpleBuckets struct {
Buckets []Bucket `json:"Buckets"`
}
변환 후 구조
type StatusParams ¶ added in v0.4.3
type StatusParams struct {
TargetPoint ProviderConfig `json:"targetPoint,omitempty"`
}
type SysbenchParams ¶ added in v0.4.3
type SysbenchParams struct {
TargetType string `json:"targetType"`
TableCount int64 `json:"tableCount"`
TableSize int64 `json:"tableSize"`
ThreadsCount int64 `json:"threadsCount"`
MySQLParams
}
type SysbenchResponse ¶ added in v0.4.3
type SysbenchResponse struct {
Result string `json:"Result"`
SysbenchResult sysbench.SysbenchParsed `json:"SysbenchResult,omitempty"`
Error *string `json:"Error"`
}
type Task ¶
type Task struct {
OperationParams
TagParams
BasicTask
}
type TaskMeta ¶
type TaskMeta struct {
ServiceType CloudServiceType `json:"serviceType"`
TaskType TaskType `json:"taskType" `
TaskID string `json:"taskId,omitempty" `
TaskName string `json:"taskName,omitempty" `
Description string `json:"description,omitempty"`
}
type TumblebugCredentialCreate ¶ added in v0.4.7
type TumblebugCredentialCreate struct {
CredentialHolder string `json:"credentialHolder"`
CredentialKeyValueList map[string]string `json:"credentialKeyValueList"`
EncryptedClientAesKeyByPublicKey string `json:"encryptedClientAesKeyByPublicKey"`
ProviderName string `json:"providerName"`
PublicKeyTokenId string `json:"publicKeyTokenId"`
}