in internal/langserver/handlers/hover/hover.go [160:187]
func GetParentType(resourceType string) string {
parts := strings.Split(resourceType, "/")
if len(parts) <= 2 {
def, err := azure.GetResourceDefinitionByResourceType(resourceType)
if err != nil || def == nil || len(def.ScopeTypes) == 0 {
return "Azure Resource"
}
res := make([]string, 0)
for _, scope := range def.ScopeTypes {
switch scope {
case types.Unknown:
return "Azure Resource(Unknown scope)"
case types.Tenant:
res = append(res, "Tenant")
case types.Subscription:
res = append(res, "Subscription")
case types.ManagementGroup:
res = append(res, "Microsoft.Management/managementGroups")
case types.ResourceGroup:
res = append(res, "Microsoft.Resources/resourceGroups")
case types.Extension:
res = append(res, "Azure Resource(Extension scope)")
}
}
return strings.Join(res, ", ")
}
return strings.Join(parts[0:len(parts)-1], "/")
}