public static List<Server> serversList; // store list of servers // This method displays servers received from Core API to ListView public static void ServersToListView(ListView listview, CoreConnectionCredentials coreCredentials) { serversList = CoreConnector.GetServersToListFromCore(coreCredentials); ListViewCreateColumns(listview); listview.Items.Clear(); ListViewItem lvi_server; listview.View = View.Details; foreach (var server in serversList) { lvi_server = new ListViewItem(server.DisplayName); lvi_server.SubItems.Add(server.ServerCredentials.IP); lvi_server.SubItems.Add(server.Repository); lvi_server.SubItems.Add(server.DdtStatus.ToString()); lvi_server.SubItems.Add(""); lvi_server.SubItems.Add(""); lvi_server.SubItems.Add(""); lvi_server.SubItems.Add(""); listview.Items.Add(lvi_server); } }
// This method used to connect to Core API with creds from current active seesion public static ICoreClient GetDefaultCoreClient(CoreConnectionCredentials coreCredentials) { var coreClientFactory = new CoreClientFactory(); var coreClient = coreClientFactory.Create(CreateApiUri(coreCredentials.Hostname, coreCredentials.Port)); coreClient.UseDefaultCredentials(); return coreClient; }
// This method is used to connect to Core API with specific credentials public static ICoreClient GetFullCoreClient(CoreConnectionCredentials coreCredentials) { var networkCreds = new NetworkCredential(coreCredentials.Username, coreCredentials.Password); var factory = new CoreClientFactory(); var coreClient = factory.Create(CreateApiUri(coreCredentials.Hostname, coreCredentials.Port)); coreClient.UseSpecificCredentials(networkCreds); return coreClient; }
// This method used to connect to Core API with creds from current active seesion public static ICoreClient GetDefaultCoreClient(CoreConnectionCredentials coreCredentials) { var coreClientFactory = new CoreClientFactory(); var coreClient = coreClientFactory.Create(CreateApiUri(coreCredentials.Hostname, coreCredentials.Port)); coreClient.UseDefaultCredentials(); return(coreClient); }
// This method is used to connect to Core API with specific credentials private static ICoreClient GetFullCoreClient(CoreConnectionCredentials coreCredentials) { var networkCreds = new NetworkCredential(coreCredentials.Username, coreCredentials.Password); var factory = new CoreClientFactory(); var coreClient = factory.Create(CreateApiUri(coreCredentials.Hostname, coreCredentials.Port)); coreClient.UseSpecificCredentials(networkCreds); return(coreClient); }
private void btn_Connect_Click(object sender, EventArgs e) { if (rb_Core.Checked) { _coreCreds = new CoreConnectionCredentials { Hostname = tb_hostname.Text, Port = Convert.ToInt32(tb_Port.Text), Username = tb_userName.Text, Password = tb_password.Text }; _coreCreds.SerizalizeCredsToFile(); // Displays list of servers received from Core API to ListView try { lbl_Loading.Visible = true; ServerWrapper.ServersToListView(_coreCreds); Logger.Log("Successfully connected to Core Server: " + tb_hostname.Text, Logger.LogLevel.Info, tb_hostname.Text); } catch (WCFClientBase.ClientServerErrorException exception) { lbl_Loading.Visible = false; Logger.LogError("Cannot connect to Core server " + _coreCreds.Hostname, _coreCreds.Hostname, exception); MessageBox.Show("Cannot connect to Core server." + Environment.NewLine + exception.Message, "Connection Failed", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } catch (WCFClientBase.HttpUnauthorizedRequestException exception) { lbl_Loading.Visible = false; Logger.LogError("Cannot connect to Core server " + _coreCreds.Hostname + " Wrong credentials.", _coreCreds.Hostname, exception); MessageBox.Show("Cannot connect to Core server. Incorrect credentials." + Environment.NewLine + exception.Message, "Connection Failed", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } ServerWrapper.ServersListViewCreateColumns(lv_AgentsList); ServerWrapper.ExchangeListViewCreateColumns(lv_ExchangeServers); ServerWrapper.SqlListViewCreateColumns(lv_SQL); AddItemsToCbMailSize(); GetGenParamsFromFileToGui(); timer1.Interval = 3000; // Timer for UI update timer1.Start(); lbl_Loading.Visible = false; // Hide Connection Page and displays ListView Page DisplayListViewPage(); }
private void GetCredsFromFileToGui() { var creds = CoreConnectionCredentials.DeserializeCredsFromFile(); if (creds == null) { return; } tb_hostname.Text = creds.Hostname; tb_Port.Text = creds.Port.ToString(); tb_userName.Text = creds.Username; tb_password.Text = creds.Password; }
//This method returns collection of all Agent's objects public static List<Server> GetServersToListFromCore(CoreConnectionCredentials coreCredentials) { var serversList = new List<Server>(); var coreClient = GetFullCoreClient(coreCredentials); var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents(); foreach (var agent in protectedAgents) { if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine)) { serversList.Add(new Server(agent.Descriptor.HostUri.Host, agent.DisplayName, agent.RepositoryName, agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName, agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted)); } //MessageBox.Show( // coreClient.AgentsManagement.GetAgentMetadataById(agent.Id.ToString()).IPAddresses.Count.ToString()); } return serversList; }
public static CoreConnectionCredentials DeserializeCredsFromFile() { CoreConnectionCredentials deserializedCreds = null; var dcs = new DataContractSerializer(typeof(CoreConnectionCredentials)); try { using (var fs = new FileStream("CoreCreds.xml", FileMode.Open)) { deserializedCreds = (CoreConnectionCredentials)dcs.ReadObject(fs); } } catch (FileNotFoundException) { return(null); } return(deserializedCreds); }
//This method returns collection of Agent's objects with SQL Server only public static List <SqlServer> GetSqlServersToListFromCore(CoreConnectionCredentials coreCredentials) { var sqlServersList = new List <SqlServer>(); var coreClient = CoreConnector.GetFullCoreClient(coreCredentials); var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents(); foreach (var agent in protectedAgents) { if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine) && agent.HasSqlInstance) { sqlServersList.Add(new SqlServer(agent.Descriptor.HostUri.Host, agent.DisplayName, agent.RepositoryName, agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName, agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted)); } } return(sqlServersList); }
//This method returns collection of all Agent's objects public static List <Server> GetServersToListFromCore(CoreConnectionCredentials coreCredentials) { var serversList = new List <Server>(); var coreClient = GetFullCoreClient(coreCredentials); var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents(); foreach (var agent in protectedAgents) { if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine)) { serversList.Add(new Server(agent.Descriptor.HostUri.Host, agent.DisplayName, agent.RepositoryName, agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName, agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted)); } //MessageBox.Show( // coreClient.AgentsManagement.GetAgentMetadataById(agent.Id.ToString()).IPAddresses.Count.ToString()); } return(serversList); }
private void btn_Connect_Click(object sender, EventArgs e) { coreCreds = new CoreConnectionCredentials(); coreCreds.Hostname = tb_hostname.Text; coreCreds.Port = Convert.ToInt32(tb_Port.Text); coreCreds.Username = tb_userName.Text; coreCreds.Password = tb_password.Text; coreCreds.SerizalizeCredsToFile(); GetDDTParamsFromFileToGUI(); // Displays list of servers received from Core API to ListView try { ServerWrapper.ServersToListView(lv_AgentsList,coreCreds); Logger.Log("Successfully connected to Core Server: " + tb_hostname.Text, Logger.LogLevel.Info, tb_hostname.Text); } catch (WCFClientBase.ClientServerErrorException exception) { Logger.LogError("Cannot connect to Core server " + coreCreds.Hostname, coreCreds.Hostname, exception); MessageBox.Show("Cannot connect to Core server." + Environment.NewLine + exception.Message, "Connection Failed", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } catch (WCFClientBase.HttpUnauthorizedRequestException exception) { Logger.LogError("Cannot connect to Core server " + coreCreds.Hostname + " Wrong credentials.", coreCreds.Hostname, exception); MessageBox.Show("Cannot connect to Core server. Incorrect credentials." + Environment.NewLine + exception.Message, "Connection Failed", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } timer1.Interval = 3000; // Timer for UI update timer1.Start(); // Hide Connection Page and displays ListView Page displayListViewPage(); lbl_TotalAmountValue.Text = lv_AgentsList.Items.Count.ToString(); }
//This method returns collection of Agent's objects with Exchange Server only public static List <ExchangeServer> GetExchangeServersToListFromCore(CoreConnectionCredentials coreCredentials) { var exchangeServersList = new List <ExchangeServer>(); var coreClient = CoreConnector.GetFullCoreClient(coreCredentials); var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents(); foreach (var agent in protectedAgents) { if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine) && agent.HasExchangeInstance) { exchangeServersList.Add(new ExchangeServer(agent.Descriptor.HostUri.Host, agent.DisplayName, agent.RepositoryName, agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName, coreClient.AgentsManagement.GetCachedAgentMetadataById(agent.Id.ToString()).FullyQualifiedDomainName.Remove(0, coreClient.AgentsManagement.GetCachedAgentMetadataById(agent.Id.ToString()).HostName.Length + 1), agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted)); } } return(exchangeServersList); }
//This method returns collection of Agent's objects with SQL Server only public static List<SqlServer> GetSqlServersToListFromCore(CoreConnectionCredentials coreCredentials) { var sqlServersList = new List<SqlServer>(); var coreClient = CoreConnector.GetFullCoreClient(coreCredentials); var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents(); foreach (var agent in protectedAgents) { if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine) && agent.HasSqlInstance) { sqlServersList.Add(new SqlServer(agent.Descriptor.HostUri.Host, agent.DisplayName, agent.RepositoryName, agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName, agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted)); } } return sqlServersList; }
//This method returns collection of Agent's objects with Exchange Server only public static List<ExchangeServer> GetExchangeServersToListFromCore(CoreConnectionCredentials coreCredentials) { var exchangeServersList = new List<ExchangeServer>(); var coreClient = CoreConnector.GetFullCoreClient(coreCredentials); var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents(); foreach (var agent in protectedAgents) { if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine) && agent.HasExchangeInstance) { exchangeServersList.Add(new ExchangeServer(agent.Descriptor.HostUri.Host, agent.DisplayName, agent.RepositoryName, agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName, coreClient.AgentsManagement.GetCachedAgentMetadataById(agent.Id.ToString()).FullyQualifiedDomainName.Remove(0, coreClient.AgentsManagement.GetCachedAgentMetadataById(agent.Id.ToString()).HostName.Length + 1), agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted)); } } return exchangeServersList; }
//This method returns collection of Agent's objects public static List<Server> GetServersToListFromCore(CoreConnectionCredentials coreCredentials) { List<Server> serversList = new List<Server>(); ICoreClient _coreClient = CoreConnector.GetFullCoreClient(coreCredentials); var protectedAgents = _coreClient.AgentsManagement.GetProtectedAgents(); foreach (var agent in protectedAgents) { if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine)) { // This to hide linux agents from GUI, but it is dramatically reduce performance //if (!_coreClient.AgentsManagement.GetAgentMetadataById(agent.Id.ToString()).OSVersion.ToString().Contains("Linux")) // Version with cached metadata //if (!_coreClient.AgentsManagement.GetCachedAgentMetadataById(agent.Id.ToString()).OSVersion.ToString().Contains("Linux")) serversList.Add(new Server(agent.Descriptor.HostUri.Host, agent.DisplayName, agent.RepositoryName, agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName, agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted)); } } return serversList; }
// This method displays servers received from Core API to ListView public static void ServersToListView(CoreConnectionCredentials coreCredentials) { ServersList = CoreConnector.GetServersToListFromCore(coreCredentials); ExchangeServersList = CoreConnector.GetExchangeServersToListFromCore(coreCredentials); SqlServersList = CoreConnector.GetSqlServersToListFromCore(coreCredentials); }
public static List <SqlServer> SqlServersList; //store list of sql servers // This method displays servers received from Core API to ListView public static void ServersToListView(CoreConnectionCredentials coreCredentials) { ServersList = CoreConnector.GetServersToListFromCore(coreCredentials); ExchangeServersList = CoreConnector.GetExchangeServersToListFromCore(coreCredentials); SqlServersList = CoreConnector.GetSqlServersToListFromCore(coreCredentials); }