in internal/sqlservermetrics/migration/migration.go [93:142]
func (m *migration) Migrate(backCfg *sqlserverpb.Configuration, config *configpb.Configuration) {
config.LogLevel = m.logLevel(backCfg.GetLogLevel())
config.LogToCloud = proto.Bool(backCfg.GetLogToCloud())
config.AgentProperties = &configpb.AgentProperties{
LogUsageMetrics: !backCfg.GetDisableLogUsage(),
}
config.SqlserverConfiguration = &configpb.SQLServerConfiguration{
Enabled: proto.Bool(true),
CollectionConfiguration: m.collectionConfiguration(backCfg.GetCollectionConfiguration()),
CollectionTimeout: durationpb.New(time.Duration(backCfg.GetCollectionTimeoutSeconds()) * time.Second),
MaxRetries: int32(backCfg.GetMaxRetries()),
RetryFrequency: durationpb.New(time.Duration(backCfg.GetRetryIntervalInSeconds()) * time.Second),
RemoteCollection: backCfg.GetRemoteCollection(),
}
credentialConfigrations := []*configpb.SQLServerConfiguration_CredentialConfiguration{}
for _, credCfg := range backCfg.GetCredentialConfiguration() {
c := &configpb.SQLServerConfiguration_CredentialConfiguration{}
connectionParameters := []*configpb.ConnectionParameters{}
for _, sqlCfg := range credCfg.GetSqlConfigurations() {
connectionParameters = append(connectionParameters, m.sql(sqlCfg))
}
c.ConnectionParameters = connectionParameters
switch credCfg.GetGuestConfigurations().(type) {
case *sqlserverpb.CredentialConfiguration_LocalCollection:
c.GuestConfigurations = &configpb.SQLServerConfiguration_CredentialConfiguration_LocalCollection{
LocalCollection: credCfg.GetLocalCollection(),
}
case *sqlserverpb.CredentialConfiguration_RemoteWin:
c.GuestConfigurations = &configpb.SQLServerConfiguration_CredentialConfiguration_RemoteWin{
RemoteWin: m.guestRemoteWin(credCfg.GetRemoteWin()),
}
c.VmProperties = &configpb.CloudProperties{
InstanceName: credCfg.GetInstanceName(),
InstanceId: credCfg.GetInstanceId(),
}
case *sqlserverpb.CredentialConfiguration_RemoteLinux:
c.GuestConfigurations = &configpb.SQLServerConfiguration_CredentialConfiguration_RemoteLinux{
RemoteLinux: m.guestRemoteLinux(credCfg.GetRemoteLinux()),
}
c.VmProperties = &configpb.CloudProperties{
InstanceName: credCfg.GetInstanceName(),
InstanceId: credCfg.GetInstanceId(),
}
}
credentialConfigrations = append(credentialConfigrations, c)
}
config.SqlserverConfiguration.CredentialConfigurations = credentialConfigrations
}