package com.cloud.storage.secondary;

import com.cloud.agent.api.Command;
import com.cloud.agent.api.StartupCommand;
import com.cloud.host.HostVO;
import com.cloud.utils.Pair;
import com.cloud.utils.component.Manager;
import com.cloud.vm.SecondaryStorageVmVO;

import java.util.List;

public interface SecondaryStorageVmManager extends Manager {

    public static final int DEFAULT_SS_VM_RAMSIZE = 512;            // 512M
    public static final int DEFAULT_SS_VM_CPUMHZ = 500;                // 500 MHz
    public static final int DEFAULT_SS_VM_MTUSIZE = 1500;
    public static final int DEFAULT_SS_VM_CAPACITY = 50;            // max command execution session per SSVM
    public static final int DEFAULT_STANDBY_CAPACITY = 10;            // standy capacity to reserve per zone

    public static final String ALERT_SUBJECT = "secondarystoragevm-alert";

    public SecondaryStorageVmVO startSecStorageVm(long ssVmVmId);

    public boolean stopSecStorageVm(long ssVmVmId);

    public boolean rebootSecStorageVm(long ssVmVmId);

    public boolean destroySecStorageVm(long ssVmVmId);

    public void onAgentConnect(Long dcId, StartupCommand cmd);

    public boolean generateFirewallConfiguration(Long agentId);

    public boolean generateVMSetupCommand(Long hostId);

    public Pair<HostVO, SecondaryStorageVmVO> assignSecStorageVm(long zoneId, Command cmd);

    boolean generateSetupCommand(Long hostId);

    public List<HostVO> listUpAndConnectingSecondaryStorageVmHost(Long dcId);

    public HostVO pickSsvmHost(HostVO ssHost);
}

@@ -344,36 +344,16 @@
  %7B%0A%0A    
-public static final 
 int DEFA
@@ -400,36 +400,16 @@
 12M%0A    
-public static final 
 int DEFA
@@ -440,27 +440,24 @@
             
-   
 // 500 MHz%0A 
@@ -459,36 +459,16 @@
 MHz%0A    
-public static final 
 int DEFA
@@ -497,36 +497,16 @@
 00;%0A    
-public static final 
 int DEFA
@@ -587,36 +587,16 @@
 SVM%0A    
-public static final 
 int DEFA
@@ -621,18 +621,16 @@
 TY = 10;
-  
         
@@ -679,28 +679,8 @@
     
-public static final 
 Stri
@@ -731,23 +731,16 @@
 %22;%0A%0A    
-public 
 Secondar
@@ -783,39 +783,32 @@
 ssVmVmId);%0A%0A    
-public 
 boolean stopSecS
@@ -829,39 +829,32 @@
 ssVmVmId);%0A%0A    
-public 
 boolean rebootSe
@@ -877,39 +877,32 @@
 ssVmVmId);%0A%0A    
-public 
 boolean destroyS
@@ -934,23 +934,16 @@
 );%0A%0A    
-public 
 void onA
@@ -983,39 +983,32 @@
 mand cmd);%0A%0A    
-public 
 boolean generate
@@ -1049,23 +1049,16 @@
 );%0A%0A    
-public 
 boolean 
@@ -1099,23 +1099,16 @@
 );%0A%0A    
-public 
 Pair%3CHos
@@ -1233,23 +1233,16 @@
 );%0A%0A    
-public 
 List%3CHos
@@ -1305,23 +1305,16 @@
 );%0A%0A    
-public 
 HostVO p

Clean up interface