in scripts/create_master_checklist.py [0:0]
def get_services_from_string(input_string):
service_dict = {
"AppSvc": ["App Service", "webapp"],
"ExpressRoute": ["ExpressRoute", "Gateway Subnet"],
"VPN": ["VPN", "Point-to-Site", "Site-to-Site", "Gateway Subnet"],
"FrontDoor": ["Front Door", "FrontDoor"],
"AppGW": ["Application Gateway", "AppGW", "AGIC"],
"SQL": ["SQL"],
"AVD": ["AVD", "Virtual Desktop", "WVD", "MSIX"],
"AKS": ["AKS", "Kubernetes"],
"AVS": ["AVS", "Azure VMware Solution", "VMware"],
"Firewall": ["Azure Firewall", "Firewall Manager"],
"NVA": ["NVA", "Network Virtual Appliance"],
"Bastion": ["Bastion"],
"SAP": ["SAP"],
"VM": ["VM ", "VM.", "VM'", "VMs", "Virtual Machine"], # Characters in 'VMx' is to avoid matching 'VMware'
"Storage": ["Storage", "Blob", "File", "Queue", "Table", "CORS"],
"ACR": ["ACR", "Registry"],
"AKV": ["AKV", "Key Vault", "Secrets", "Keys", "Certificates"],
"ServiceBus": ["Service Bus", "ASB", "Queue", "Topic", "Relay"],
"EventHubs": ["Event Hubs", "EventHubs", "Event Hub", "EH"],
"CosmosDB": ["Cosmos DB", "CosmosDB"],
"SAP": ["SAP"],
"Sentinel": ["Sentinel"],
"Entra": ["Entra", "AAD", "Azure AD", "Azure Active Directory", "PIM", "JIT", "Privileged Identity Management", "Just in Time", "Conditional Access", "MFA", "2FA", "Identity", "Identities", "B2B", "B2C"],
"DDoS": ["DDoS", "Denial of Service"],
"LoadBalancer": ["Load Balancer", "LB", "ILB", "SLB"],
"DNS": ["DNS", "Domain Name System"],
"TrafficManager": ["Traffic Manager", "TM"],
"VNet": ["VNet", "Virtual Network", "NSG", "Network Security Group", "UDR", "User Defined Route", "IP Plan", "hub-and-spoke", "subnet"],
"Defender": ["Defender", "Security Center"],
"Subscriptions": ["Subscriptions", "Subscription", "Management Group"],
"VWAN": ["VWAN", "Virtual WAN"],
"ARS": ["ARS", "Route Server"],
"Monitor": ["Monitor", "Log Analytics", "LogAnalytics", "Metrics", "Alerts"],
"NetworkWatcher": ["Network Watcher", "NetworkWatcher", "Connection Monitor", "Flow logs"],
"Arc": ["Arc ", "Arc-"], # Otherwise it matches 'Architecture'
"RBAC": ["RBAC", "role"],
"Backup": ["Backup"],
"ASR": ["ASR", "Site Recovery", "Disaster Recovery"],
"AzurePolicy": ["Azure Policy", "Policy", "Policies"],
"APIM": ["APIM", "API Management"],
"AppProxy": ["App Proxy", "AppProxy"],
"WAF": ["WAF", "Web Application Firewall"],
"PrivateLink": ["Private Link", "PrivateLink", "Private Endpoint"],
"Cost": ["Cost", "Budget"],
}
services = []
for service in service_dict:
for keyword in service_dict[service]:
if keyword.lower() in input_string.lower():
services.append(service)
return list(set(services))