func ValidateCredCfgSQL()

in internal/configuration/configuration.go [202:260]


func ValidateCredCfgSQL(remote, windows bool, sqlCfg *SQLConfig, guestCfg *GuestConfig, instanceID, instanceName string) error {
	errMsg := "invalid value for"
	hasError := false

	if sqlCfg.Username == "" {
		errMsg = errMsg + ` "user_name"`
		hasError = true
	}
	if sqlCfg.SecretName == "" {
		errMsg = errMsg + ` "secret_name"`
		hasError = true
	}
	if sqlCfg.PortNumber == 0 {
		errMsg = errMsg + ` "port_number"`
		hasError = true
	}

	if remote {
		if sqlCfg.Host == "" {
			errMsg = errMsg + ` "host"`
			hasError = true
		}
		if guestCfg.ServerName == "" {
			errMsg = errMsg + ` "server_name"`
			hasError = true
		}
		if guestCfg.GuestUserName == "" {
			errMsg = errMsg + ` "guest_user_name"`
			hasError = true
		}
		if windows && guestCfg.GuestSecretName == "" {
			errMsg = errMsg + ` "guest_secret_name"`
			hasError = true
		}
		if instanceID == "" {
			errMsg = errMsg + ` "instance_id"`
			hasError = true
		}
		if instanceName == "" {
			errMsg = errMsg + ` "instance_name"`
			hasError = true
		}
		if !windows {
			if guestCfg.LinuxSSHPrivateKeyPath == "" {
				errMsg = errMsg + ` "linux_ssh_private_key_path"`
				hasError = true
			}
			if guestCfg.GuestPortNumber == 0 {
				errMsg = errMsg + ` "guest_port_number"`
				hasError = true
			}
		}
	}

	if hasError {
		return fmt.Errorf(errMsg)
	}
	return nil
}