importPackage(java.util);
importPackage(java.lang);
importPackage(java.io);
importPackage(java.net);
importPackage(java.security);
importPackage(com.cloupia.lib.connector.account);
importPackage(com.cloupia.lib.connector.account.credential);
importPackage(com.cloupia.lib.util);
importClass(com.cloupia.lib.util.JSON);
importPackage(javax.net.ssl);
importPackage(com.cloupia.model.cIM);
importPackage(com.cloupia.service.cIM.inframgr);
importPackage(org.apache.commons.httpclient);
importPackage(org.apache.commons.httpclient.methods);
importPackage(org.apache.commons.httpclient.protocol);
importPackage(com.cloupia.lib.util.easytrust);
importPackage(com.cloupia.lib.cIaaS.vcd.api);


//FUNCTIONS
function apicLogin(apicAccountName){
	//Get the IP, user name, password, port and protocol from the APIC Device Identity object.
	var apicAccount = AccountUtil.getAccountByName(apicAccountName);
	var creds = apicAccount.getCredential();
	logger.addInfo("creds :"+creds);
	var username = JSON.getJsonElement(creds,"username").toString();	 
	logger.addInfo("Username "+username);
	var password = JSON.getJsonElement(creds,"password");
	var ip = apicAccount.getServerAddress().toString();
	logger.addInfo("IP "+ip);
	var protocol = JSON.getJsonElement(creds,"protocol");
	logger.addInfo("protocol "+protocol);
	var port = JSON.getJsonElement(creds,"port").toString().trim();
	port = Integer.parseInt(port);
	logger.addInfo("port "+port);
	var httpsClient = CustomEasySSLSocketFactory.getIgnoreSSLClient(ip,port);
	httpsClient.getParams().setCookiePolicy("default");
	var loginURL = "/api/aaaLogin.json";
	/*
		{
			"aaaUser" : {
				"attributes" : {
					"name" : "georgewa",
					"pwd" : "paSSword1"
				}
			}
		}
	*/
	var buf = new StringBuffer();
	buf.append("{");
	buf.append("\"aaaUser\" : {");
	buf.append("\"attributes\" : {");
	buf.append("\"name\" : "+username+",");
    buf.append("\"pwd\" : "+password+"");
	buf.append("}");
	buf.append("}");
	buf.append("}");
	var loginPayload = buf.toString();
	
	logger.addInfo("loginPayload :"+loginPayload);
	var httpMethod = new PostMethod(loginURL);
	var requestEntity = new StringRequestEntity(loginPayload,"application/json","UTF-8");
	httpMethod.setRequestEntity(requestEntity);
	httpsClient.executeMethod(httpMethod);
	var statuscode = httpMethod.getStatusCode();
	logger.addInfo("statuscode :"+statuscode);	
	logger.addInfo("Status message : "+httpMethod.getStatusText());
	logger.addInfo("Response body: "+httpMethod.getResponseBodyAsString());	
}
var accountName = "apic185";//apic account name
apicLogin(accountName);

Additional Links: