- Add comprehensive naming convention (provider-region-resource-env-purpose) - Implement Terraform locals for centralized naming - Update all Terraform resources to use new naming convention - Create deployment automation framework (18 phase scripts) - Add Azure setup scripts (provider registration, quota checks) - Update deployment scripts config with naming functions - Create complete deployment documentation (guide, steps, quick reference) - Add frontend portal implementations (public and internal) - Add UI component library (18 components) - Enhance Entra VerifiedID integration with file utilities - Add API client package for all services - Create comprehensive documentation (naming, deployment, next steps) Infrastructure: - Resource groups, storage accounts with new naming - Terraform configuration updates - Outputs with naming convention examples Deployment: - Automated deployment scripts for all 15 phases - State management and logging - Error handling and validation Documentation: - Naming convention guide and implementation summary - Complete deployment guide (296 steps) - Next steps and quick start guides - Azure prerequisites and setup completion docs Note: ESLint warnings present - will be addressed in follow-up commit
85 lines
2.6 KiB
Bash
Executable File
85 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Azure Quota Check Script
|
|
# Checks quotas for all non-US Azure regions
|
|
#
|
|
|
|
set -e
|
|
|
|
# Colors
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
|
|
# Check if Azure CLI is installed
|
|
if ! command -v az &> /dev/null; then
|
|
echo -e "${RED}Error: Azure CLI is not installed.${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if logged in
|
|
if ! az account show &> /dev/null; then
|
|
echo -e "${YELLOW}Please log in to Azure...${NC}"
|
|
az login
|
|
fi
|
|
|
|
echo -e "${BLUE}========================================${NC}"
|
|
echo -e "${BLUE}Azure Quota Check - All Non-US Regions${NC}"
|
|
echo -e "${BLUE}========================================${NC}"
|
|
echo ""
|
|
|
|
# Get all non-US regions
|
|
echo -e "${YELLOW}Fetching non-US regions...${NC}"
|
|
REGIONS=$(az account list-locations \
|
|
--query "[?metadata.regionType=='Physical' && !contains(name, 'us')].name" \
|
|
-o tsv)
|
|
|
|
REGION_COUNT=$(echo "${REGIONS}" | wc -l)
|
|
echo -e "${GREEN}Found ${REGION_COUNT} non-US regions${NC}"
|
|
echo ""
|
|
|
|
# Output file
|
|
QUOTA_FILE="azure-quotas-all-regions.txt"
|
|
> "${QUOTA_FILE}"
|
|
|
|
echo "Azure Quota Report - All Non-US Regions" >> "${QUOTA_FILE}"
|
|
echo "Generated: $(date)" >> "${QUOTA_FILE}"
|
|
echo "Subscription: $(az account show --query name -o tsv)" >> "${QUOTA_FILE}"
|
|
echo "========================================" >> "${QUOTA_FILE}"
|
|
echo "" >> "${QUOTA_FILE}"
|
|
|
|
# Check quotas for each region
|
|
REGION_INDEX=0
|
|
for region in ${REGIONS}; do
|
|
REGION_INDEX=$((REGION_INDEX + 1))
|
|
echo -e "${BLUE}[${REGION_INDEX}/${REGION_COUNT}] Checking ${region}...${NC}"
|
|
|
|
echo "" >> "${QUOTA_FILE}"
|
|
echo "========================================" >> "${QUOTA_FILE}"
|
|
echo "Region: ${region}" >> "${QUOTA_FILE}"
|
|
echo "========================================" >> "${QUOTA_FILE}"
|
|
|
|
# VM quotas
|
|
echo "VM Family Quotas:" >> "${QUOTA_FILE}"
|
|
az vm list-usage --location "${region}" -o table >> "${QUOTA_FILE}" 2>/dev/null || echo " Unable to fetch VM quotas" >> "${QUOTA_FILE}"
|
|
echo "" >> "${QUOTA_FILE}"
|
|
|
|
# Storage quotas
|
|
echo "Storage Account Quota:" >> "${QUOTA_FILE}"
|
|
az storage account show-usage --location "${region}" -o json >> "${QUOTA_FILE}" 2>/dev/null || echo " Unable to fetch storage quotas" >> "${QUOTA_FILE}"
|
|
echo "" >> "${QUOTA_FILE}"
|
|
|
|
# Network quotas
|
|
echo "Network Quotas:" >> "${QUOTA_FILE}"
|
|
az network list-usages --location "${region}" -o table >> "${QUOTA_FILE}" 2>/dev/null || echo " Unable to fetch network quotas" >> "${QUOTA_FILE}"
|
|
echo "" >> "${QUOTA_FILE}"
|
|
done
|
|
|
|
echo ""
|
|
echo -e "${GREEN}✓ Quota check complete${NC}"
|
|
echo -e "${GREEN}✓ Results saved to: ${QUOTA_FILE}${NC}"
|
|
echo ""
|
|
|