function updateDeploymentStatus() {
// Update network card
if (deploymentState.network) {
const networkCard = document.querySelector('.STC-Portal-deployment-card:nth-child(1)');
if (networkCard) {
const networkStatus = networkCard.querySelector('.STC-Portal-card-status');
const networkBtn = networkCard.querySelector('.STC-Portal-deploy-btn');
if (networkStatus) {
networkStatus.innerHTML = 'Deployed Successfully';
}
if (networkBtn) {
networkBtn.textContent = 'Reconfigure';
networkBtn.style.background = '#107c10';
}
}
// Enable dependent services
const gatewayBtn = document.querySelector('.STC-Portal-deployment-card:nth-child(2) .STC-Portal-deploy-btn');
const vmBtn = document.querySelector('.STC-Portal-deployment-card:nth-child(3) .STC-Portal-deploy-btn');
if (gatewayBtn) gatewayBtn.disabled = false;
if (vmBtn) vmBtn.disabled = false;
const gatewayStatus = document.querySelector('.STC-Portal-deployment-card:nth-child(2) .STC-Portal-card-status');
const vmStatus = document.querySelector('.STC-Portal-deployment-card:nth-child(3) .STC-Portal-card-status');
if (gatewayStatus) {
gatewayStatus.innerHTML = 'Ready to Deploy';
}
if (vmStatus) {
vmStatus.innerHTML = 'Ready to Deploy';
}
}
// Update gateway card
if (deploymentState.gateway) {
const gatewayCard = document.querySelector('.STC-Portal-deployment-card:nth-child(2)');
if (gatewayCard) {
const gatewayStatus = gatewayCard.querySelector('.STC-Portal-card-status');
const gatewayBtn = gatewayCard.querySelector('.STC-Portal-deploy-btn');
if (gatewayStatus) {
gatewayStatus.innerHTML = 'Deployed Successfully';
}
if (gatewayBtn) {
gatewayBtn.textContent = 'Reconfigure';
gatewayBtn.style.background = '#107c10';
}
}
}
// Update VMs card
if (deploymentState.vms) {
const vmCard = document.querySelector('.STC-Portal-deployment-card:nth-child(3)');
if (vmCard) {
const vmStatus = vmCard.querySelector('.STC-Portal-card-status');
const vmBtn = vmCard.querySelector('.STC-Portal-deploy-btn');
if (vmStatus) {
vmStatus.innerHTML = 'Deployed Successfully';
}
if (vmBtn) {
vmBtn.textContent = 'Reconfigure';
vmBtn.style.background = '#107c10';
}
}
}
}
function generateSummary() {
const summaryContent = document.getElementById('summary-content');
if (summaryContent && deploymentState.network && deploymentState.gateway && deploymentState.vms) {
summaryContent.innerHTML = `
`;
}
}
// Initialize
document.addEventListener('DOMContentLoaded', function() {
// Load saved theme
const savedTheme = safeGetItem('STC-Portal-theme');
const toggleBtn = document.querySelector('.STC-Portal-theme-toggle');
const body = document.getElementById('STC-Portal-main-body');
if (savedTheme === 'light' && body && toggleBtn) {
body.classList.add('STC-Portal-light-theme');
toggleBtn.innerHTML = 'π Dark Mode';
}
// Initialize with overview section
showSection('overview');
});
Cloud Portal - Silverfern Technology Consultants
π Deployment Complete!
Congratulations! You have successfully completed the TechFlow Solutions cloud migration project.
β Virtual Network
Address Space: 10.10.50.0/22
Subnets: 10.10.50.0/24, 10.10.51.0/24
Region: NE-NA-1
β VPN Gateway
Type: Site-to-Site VPN
Encryption: AES-256, SHA-256, DH-14
On-Prem: 10.10.10.0/24
β Virtual Machines
TFS-DC01: D2s_v5, 128GB Premium SSD
TFS-FS01: D4s_v5, 2048GB Premium SSD
Region: NE-NA-1
Mission Accomplished! π
You have successfully deployed a complete cloud infrastructure for TechFlow Solutions.
This demonstrates your expertise in cloud architecture, networking, and virtual machine deployment!
Cloud Portal
TechFlow Solutions - Cloud Migration
Virtual Network
Deploy the virtual network infrastructure with proper subnetting for the TechFlow migration.
Pending Deployment
VPN Gateway
Configure site-to-site VPN connection between on-premises and cloud infrastructure.
Requires Network
Virtual Machines
Deploy TFS-DC01 and TFS-FS01 virtual machines with specified configurations.
Requires Network
Deploy Virtual Network
Subnets
Deploy VPN Gateway
VPN Configuration
Deploy Virtual Machines
TFS-DC01 (Domain Controller)
TFS-FS01 (File Server)
Deployment Summary
Complete all deployments to view the summary.