package com.intuit.tank.vm.perfManager;
/*
* #%L
* Intuit Tank Api
* %%
* Copyright (C) 2011 - 2015 Intuit Inc.
* %%
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* #L%
*/
import java.io.Serializable;
import java.util.HashMap;
import com.intuit.tank.vm.api.enumerated.VMRegion;
import com.intuit.tank.vm.common.TankConstants;
import com.intuit.tank.vm.settings.TankConfig;
public class RequestAgents implements Serializable {
private static final long serialVersionUID = -2728316130706928036L;
private HashMap<String, Object> items = null;
/**
*
* @param targetEnvironment
* @param numberOfUsers
* @param stopBehavior
*/
public RequestAgents(String jobId, String reportingMode, String loggingProfile, VMRegion region, int numberOfUsers,
String stopBehavior) {
this.items = new HashMap<String, Object>();
this.setJobId(jobId);
this.setLoggingProfile(loggingProfile);
this.setNumberOfUsers(numberOfUsers);
this.setRegion(region);
this.setReportingMode(reportingMode);
this.setStopBehavior(stopBehavior);
}
public void setLoggingProfile(String data) {
this.items.put(TankConstants.KEY_LOGGING_PROFILE, data);
}
public String getLoggingProfile() {
return (String) this.items.get(TankConstants.KEY_LOGGING_PROFILE);
}
public void setStopBehavior(String data) {
this.items.put(TankConstants.KEY_STOP_BEHAVIOR, data);
}
public String getStopBehavior() {
return (String) this.items.get(TankConstants.KEY_STOP_BEHAVIOR);
}
public void setNumberOfUsers(int data) {
this.items.put(TankConstants.KEY_NUMBER_OF_USERS, String.valueOf(data));
}
public int getNumberOfUsers() {
return Integer.valueOf((String) this.items.get(TankConstants.KEY_NUMBER_OF_USERS));
}
public void setJobId(String jobId) {
this.items.put(TankConstants.KEY_JOB_ID, jobId);
}
public String getJobId() {
return (String) this.items.get(TankConstants.KEY_JOB_ID);
}
public void setRegion(VMRegion region) {
this.items.put(TankConstants.KEY_REGION, region);
}
public VMRegion getRegion() {
return (VMRegion) this.items.get(TankConstants.KEY_REGION);
}
public void setReportingMode(String reportingMode) {
this.items.put(TankConstants.KEY_REPORTING_MODE, reportingMode);
}
public String getReportingMode() {
return (String) this.items.get(TankConstants.KEY_REPORTING_MODE);
}
public void setVmInstanceType(String instanceType) {
this.items.put(TankConstants.KEY_VM_INSTANCE_TYPE, instanceType);
}
public String getVmInstanceType() {
return (String) this.items.get(TankConstants.KEY_VM_INSTANCE_TYPE);
}
public void setNumUsersPerAgent(int num) {
this.items.put(TankConstants.KEY_NUM_USERS_PER_AGENT, num);
}
public int getNumUsersPerAgent() {
if (this.items.get(TankConstants.KEY_NUM_USERS_PER_AGENT) != null) {
return (Integer) this.items.get(TankConstants.KEY_NUM_USERS_PER_AGENT);
}
return 0;
}
public void setUserEips(boolean useEips) {
this.items.put(TankConstants.KEY_USE_EIPS, useEips);
}
public boolean isUseEips() {
if (this.items.get(TankConstants.KEY_USE_EIPS) != null) {
return (Boolean) this.items.get(TankConstants.KEY_USE_EIPS);
}
return new TankConfig().getVmManagerConfig().isUseElasticIps();
}
}