private string GetLastPositionFromResourceUriString(UsageAggregate rateUsage) { if (rateUsage.Properties.InstanceDataRaw != null && rateUsage.Properties.InstanceData?.MicrosoftResources?.ResourceUri != null) { try { var instanceParts = rateUsage.Properties.InstanceData.MicrosoftResources.ResourceUri.Split('/'); return(instanceParts[instanceParts.Length - 1]); } catch (Exception) { return(null); } } return(null); }
private string GetDetailFromResourceUriStringByOrdinal(UsageAggregate rateUsage, int ordinal = 8) { if (rateUsage.Properties.InstanceDataRaw != null && rateUsage.Properties.InstanceData?.MicrosoftResources?.ResourceUri != null) { try { var instanceParts = rateUsage.Properties.InstanceData.MicrosoftResources.ResourceUri.Split('/'); if (instanceParts.Length > 7) { return(instanceParts[8]); } } catch (Exception) { return(null); } } return(""); }
private string GetDetailFromResourceUriString(UsageAggregate rateUsage, string stringtoMatch) { if (rateUsage.Properties.InstanceDataRaw != null && rateUsage.Properties.InstanceData?.MicrosoftResources?.ResourceUri != null) { var instanceParts = rateUsage.Properties.InstanceData.MicrosoftResources.ResourceUri.Split('/'); for (int i = 0; i < instanceParts.Length; i++) { if (instanceParts[i] == stringtoMatch) { return(instanceParts[i + 1]); } } } else if (rateUsage.Properties.InfoFields?.Project != null && stringtoMatch == "resourceGroups") { return(rateUsage.Properties.InfoFields.Project); } return(null); }
private string GetDetailedResourceName(UsageAggregate rateUsage) { return(GetLastPositionFromResourceUriString(rateUsage)); }
private string GetResourceName(UsageAggregate rateUsage) { return(GetDetailFromResourceUriStringByOrdinal(rateUsage)); }
private string GetResourceProvider(UsageAggregate rateUsage) { return(GetDetailFromResourceUriString(rateUsage, "providers")); }
private string GetResourceGroup(UsageAggregate rateUsage) { return(GetDetailFromResourceUriString(rateUsage, "resourceGroups")); }