@Override public String toString() { return "Name: " + getName(); }
@Override public boolean equals(Object other) { if (other instanceof Provider) { Provider otherProvider = (Provider) other; return name.equals(otherProvider.getName()); } else { return false; } } }
@Override public boolean equals(Object other) { if (other == null) { return false; } if (other instanceof Provider) { Provider otherProvider = (Provider) other; return otherProvider.isNamed(getName()); } return false; } }
private static CloudProvider fromCloudmlToModaMP(Provider toTranslate){ CloudProvider toReturn = new CloudProvider(); String id = toTranslate.getName(); toReturn.setId(id); toReturn.setType(String.valueOf(toTranslate.getName())); return toReturn; } //Translate a location from cloudML to Monitoring Platform QoS-model
@Override public boolean add(Provider e) { if (firstNamed(e.getName()) != null) { final String error = String.format("Provider name must be unique! There is already a provider named '%s'", e.getName()); throw new IllegalStateException(error); } e.getOwner().set(Deployment.this); return super.add(e); }
public static Connector createConnector(Provider p){ try { if(p.getName().equals("aws-ec2")) return new JCloudsConnector(p.getName(), p.getLogin(), p.getPasswd()); if(p.getName().equals("flexiant")) return new FlexiantConnector(p.getProperty("endPoint"), p.getLogin(), p.getPasswd()); } catch (MalformedURLException e) { e.printStackTrace(); } throw new IllegalArgumentException("No such connector"); } }
@Override public String getQualifiedName() { return getOwner().getName() + "::" + getName(); }
public Cloud4soaConnector(Provider provider){ this.provider=provider; this.credentials=new Credentials( provider.getCredentials().getLogin(), provider.getCredentials().getPassword(), provider.getProperties().get("account").getValue() ); if(provider.getName().toLowerCase().equals(CLOUDBEES.toLowerCase())) this.platform = CLOUDBEES; if(provider.getName().toLowerCase().equals(RDS.toLowerCase())) this.platform = RDS; }
@Override public boolean remove(Object o) { if (o instanceof Provider) { final Provider provider = (Provider) o; if (provider.isUsed()) { final String error = String.format("Unable to remove provider '5s' as it is still in use", provider.getName()); throw new IllegalStateException(error); } provider.getOwner().discard(); } return super.remove(o); } }
@Override public void configAppParameters(String applicationName, Map<String,String> params) { if("cloudbees".equals(provider.getName().toLowerCase())){ try{ BeesClient client = new BeesClient("https://api.cloudbees.com/api", provider.getCredentials().getLogin(), provider.getCredentials().getPassword(), "xml", "1.0"); client.applicationConfigUpdate(this.credentials.getAccountName()+"/"+applicationName, params); } catch(Exception ex){ Logger.getLogger(Cloud4soaConnector.class.getName()).log(Level.SEVERE, "failed to set up scale", ex); } } }
@Override public boolean equals(Object other) { if (other != null && other instanceof ExternalComponent) { ExternalComponent otherComp = (ExternalComponent) other; return isNamed(otherComp.getName()) && this.provider.isNamed(((ExternalComponent) other).getProvider().getName()); } else { return false; } }
public Set<? extends ComputeMetadata> listOfNodes(Provider p) { JCloudsConnector jc = new JCloudsConnector(p.getName(), p.getLogin(), p.getPasswd()); Set<? extends ComputeMetadata> list = jc.listOfNodes(); jc.closeConnection(); return list; } ////////END OF LEGACY CODE TO BE MIGRATED INTO NEW COMMANDS/////////////////////
public ComputeMetadata findNodeByName(String name, Provider p) { JCloudsConnector jc = new JCloudsConnector(p.getName(), p.getLogin(), p.getPasswd()); ComputeMetadata cm = jc.getNodeByName(name); jc.closeConnection(); return cm; }
public ComputeMetadata findVMByName(String name, Provider p) {//TODO: use the connector factory JCloudsConnector jc = new JCloudsConnector(p.getName(), p.getCredentials().getLogin(), p.getCredentials().getPassword()); ComputeMetadata cm = jc.getVMByName(name); jc.closeConnection(); return cm; }
/** * Create the node described by the given NodeInstance object * * @param a */ public void createNode(NodeInstance a) { Provider p = a.getType().getProvider(); JCloudsConnector jc = new JCloudsConnector(p.getName(), p.getLogin(), p.getPasswd()); jc.createInstance(a); jc.closeConnection(); }
public Set<? extends ComputeMetadata> listOfVMs(Provider p) {//TODO: use the connector factory JCloudsConnector jc = new JCloudsConnector(p.getName(), p.getCredentials().getLogin(), p.getCredentials().getPassword()); Set<? extends ComputeMetadata> list = jc.listOfVMs(); jc.closeConnection(); return list; } ////////END OF LEGACY CODE TO BE MIGRATED INTO NEW COMMANDS/////////////////////
/** * Create the VM described by the given VMInstance object * * @param a */ public void createVM(VMInstance a) { Provider provider = a.getType().getProvider(); JCloudsConnector jc = new JCloudsConnector(provider.getName(), provider.getCredentials().getLogin(), provider.getCredentials().getPassword()); jc.createInstance(a); jc.closeConnection(); }
private static VM fromCloudmlToModaMP(VMInstance toTranslate) { VM toReturn = new VM(); //KB entity field String id = toTranslate.getName(); toReturn.setId(id); toReturn.setType(String.valueOf(toTranslate.getType().getName())); toReturn.setCloudProvider(toTranslate.getType().getProvider().getName()); toReturn.setLocation(toTranslate.getType().getLocation()); toReturn.setNumberOfCPUs(toTranslate.getCore()); return toReturn; } //Translate an internal component from cloudML to Monitoring Platform QoS-model
/** * Execute a given command on an artefact * * @param a the artefact on which the command will be executed * @param command the related shell command as a String * @param user the user associated */ public void executeOnNode(ArtefactInstance a, String command, String user) { Node ownerNode = a.getDestination().getType(); Provider p = ownerNode.getProvider(); JCloudsConnector jc = new JCloudsConnector(p.getName(), p.getLogin(), p.getPasswd()); jc.execCommand(ownerNode.getGroupName(), command, user, ownerNode.getPrivateKey()); jc.closeConnection(); }