public interface ApiInterface {
/*cloudStack用户分配到的ApiKey*/
public final String ApiKey = "lK_xPFYay2H_saCR3tGPcnVcSJfmg8kL-43WzXsLUXFs7lPeE0yTQjSPxQ";
/*cloudStack用户分配到的SecretKey*/
public final String SecretKey = "-o8m4PbZQjHleMGThorRtyO71qVeZWyBHP92nFZ09uE2SaayizgF0oA";
/*生成签名的几大步骤
* Command String (命令字符串) 包含命令名称、参数、API Key ,参数名称大小写不敏感,但是参数值大小敏感
* 1:将排序后的命令字符串中的每一个参数值进行URL编码
* */
String encodeParameters(String parameters);
/*
* 2:将整个命令字符串按照字母顺序对 “参数” 进行排序
* */
String sortParameters(String parameters);
/*
* 3:将经过排序编码后的命令字符串进行小写转换
* */
String ToLower(String Command);
/*
* 4:将转换成小写的字符串Command 和 Secret Key 进行HMAC SHA-1 散列计算,然后将结果进行 Base64(utf -8)编码,生成 Signature
* */
String sign(String command , String secretKey);
/*
* 5:合并生成完整的URL= Base URL + API Path + Command String + Signature
* */
String combine(String baseURL , String apiPath , String command , String signature);
/*
* 模拟请求,获取response
* */
InputStream getResponse(String URL);
/*
* 解析response取值
* */
Map getSingleValueFromXML(InputStream inputStream, String[] tagNames);
}