2024-03-25 10:43:28 -05:00
|
|
|
package setting
|
|
|
|
|
|
|
|
import (
|
2024-07-03 08:38:26 -05:00
|
|
|
"os"
|
2024-03-25 10:43:28 -05:00
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
type CloudMigrationSettings struct {
|
|
|
|
IsTarget bool
|
|
|
|
GcomAPIToken string
|
2024-07-03 08:38:26 -05:00
|
|
|
SnapshotFolder string
|
|
|
|
StartSnapshotTimeout time.Duration
|
2024-03-25 10:43:28 -05:00
|
|
|
FetchInstanceTimeout time.Duration
|
|
|
|
CreateAccessPolicyTimeout time.Duration
|
|
|
|
FetchAccessPolicyTimeout time.Duration
|
|
|
|
DeleteAccessPolicyTimeout time.Duration
|
2024-05-31 07:39:10 -05:00
|
|
|
ListTokensTimeout time.Duration
|
2024-03-25 10:43:28 -05:00
|
|
|
CreateTokenTimeout time.Duration
|
2024-05-31 08:03:43 -05:00
|
|
|
DeleteTokenTimeout time.Duration
|
2024-03-25 10:43:28 -05:00
|
|
|
TokenExpiresAfter time.Duration
|
2024-04-20 22:51:58 -05:00
|
|
|
|
|
|
|
IsDeveloperMode bool
|
2024-03-25 10:43:28 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
func (cfg *Cfg) readCloudMigrationSettings() {
|
|
|
|
cloudMigration := cfg.Raw.Section("cloud_migration")
|
|
|
|
cfg.CloudMigration.IsTarget = cloudMigration.Key("is_target").MustBool(false)
|
|
|
|
cfg.CloudMigration.GcomAPIToken = cloudMigration.Key("gcom_api_token").MustString("")
|
2024-07-03 08:38:26 -05:00
|
|
|
cfg.CloudMigration.SnapshotFolder = cloudMigration.Key("snapshot_folder").MustString("")
|
|
|
|
cfg.CloudMigration.StartSnapshotTimeout = cloudMigration.Key("start_snapshot_timeout").MustDuration(5 * time.Second)
|
2024-03-25 10:43:28 -05:00
|
|
|
cfg.CloudMigration.FetchInstanceTimeout = cloudMigration.Key("fetch_instance_timeout").MustDuration(5 * time.Second)
|
|
|
|
cfg.CloudMigration.CreateAccessPolicyTimeout = cloudMigration.Key("create_access_policy_timeout").MustDuration(5 * time.Second)
|
|
|
|
cfg.CloudMigration.FetchAccessPolicyTimeout = cloudMigration.Key("fetch_access_policy_timeout").MustDuration(5 * time.Second)
|
|
|
|
cfg.CloudMigration.DeleteAccessPolicyTimeout = cloudMigration.Key("delete_access_policy_timeout").MustDuration(5 * time.Second)
|
2024-05-31 07:39:10 -05:00
|
|
|
cfg.CloudMigration.ListTokensTimeout = cloudMigration.Key("list_tokens_timeout").MustDuration(5 * time.Second)
|
2024-03-25 10:43:28 -05:00
|
|
|
cfg.CloudMigration.CreateTokenTimeout = cloudMigration.Key("create_token_timeout").MustDuration(5 * time.Second)
|
2024-05-31 08:03:43 -05:00
|
|
|
cfg.CloudMigration.DeleteTokenTimeout = cloudMigration.Key("delete_token_timeout").MustDuration(5 * time.Second)
|
2024-03-25 10:43:28 -05:00
|
|
|
cfg.CloudMigration.TokenExpiresAfter = cloudMigration.Key("token_expires_after").MustDuration(7 * 24 * time.Hour)
|
2024-04-20 22:51:58 -05:00
|
|
|
cfg.CloudMigration.IsDeveloperMode = cloudMigration.Key("developer_mode").MustBool(false)
|
2024-07-03 08:38:26 -05:00
|
|
|
|
|
|
|
if cfg.CloudMigration.SnapshotFolder == "" {
|
|
|
|
homeDir, _ := os.UserHomeDir()
|
|
|
|
cfg.CloudMigration.SnapshotFolder = homeDir
|
|
|
|
}
|
2024-03-25 10:43:28 -05:00
|
|
|
}
|