/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.sa.service.vmware.tasks; import java.net.URL; import com.emc.sa.engine.ExecutionTask; import com.emc.storageos.db.client.model.Vcenter; import com.iwave.ext.vmware.VCenterAPI; public class ConnectToVCenter extends ExecutionTask<VCenterAPI> { private Vcenter vcenter; public ConnectToVCenter(Vcenter vcenter) { this.vcenter = vcenter; provideDetailArgs(vcenter.getLabel(), vcenter.getIpAddress()); } @Override public VCenterAPI executeTask() throws Exception { debug("Executing: %s", getDetail()); String host = vcenter.getIpAddress(); int port = vcenter.getPortNumber() != null ? vcenter.getPortNumber() : 443; URL url = new URL("https", host, port, "/sdk"); VCenterAPI vcenterAPI = new VCenterAPI(url); vcenterAPI.login(vcenter.getUsername(), vcenter.getPassword()); logInfo("connect.vcenter.logged", vcenter.getLabel(), vcenterAPI.getAboutInfo().getFullName()); return vcenterAPI; } }