66import org .apache .cloudstack .vnf .*;
77import java .util .List ;
88
9+ // Forward declarations to avoid circular dependencies
10+ // Command classes are in api.command package and will be compiled separately
11+
912public interface VnfService {
1013
1114 // Operation queries
@@ -19,9 +22,23 @@ public interface VnfService {
1922 List <VnfDictionary > listDictionaries (Long accountId ) throws CloudException ;
2023 VnfDictionary uploadDictionary (String dictionaryData , String vendor , Long accountId ) throws CloudException ;
2124
22- // Connectivity testing
23- VnfConnectivityResult testConnectivity (Long vnfApplianceId ) throws CloudException ;
25+ // Command-based methods (use Object to avoid circular dependency)
26+ String uploadVnfDictionary (Object cmd ) throws CloudException ;
27+ List <VnfDictionary > listVnfDictionaries (Object cmd ) throws CloudException ;
28+
29+ // Firewall rule methods
30+ String createFirewallRule (Object cmd ) throws CloudException ;
31+ String deleteVnfFirewallRule (Object cmd ) throws CloudException ;
32+ String updateVnfFirewallRule (Object cmd ) throws CloudException ;
2433
25- // Network reconciliation
34+ // NAT rule methods
35+ String createVnfNATRule (Object cmd ) throws CloudException ;
36+
37+ // Network operations
38+ VnfReconciliationResult reconcileVnfNetwork (Object cmd ) throws CloudException ;
2639 VnfReconciliationResult reconcileNetwork (Long networkId ) throws CloudException ;
40+
41+ // Connectivity testing
42+ VnfConnectivityResult testConnectivity (Long vnfApplianceId ) throws CloudException ;
43+ VnfConnectivityResult testVnfConnectivity (Object cmd ) throws CloudException ;
2744}
0 commit comments