|
|
@@ -1517,11 +1517,14 @@ func (a *Allocation) generateKey(aggregateBy []string, labelConfig *LabelConfig)
|
|
|
if labels == nil {
|
|
|
names = append(names, UnallocatedSuffix)
|
|
|
} else {
|
|
|
- labelName := labelConfig.Sanitize(labelConfig.DepartmentLabel)
|
|
|
- if labelValue, ok := labels[labelName]; ok {
|
|
|
- names = append(names, labelValue)
|
|
|
- } else {
|
|
|
- names = append(names, UnallocatedSuffix)
|
|
|
+ labelNames := strings.Split(labelConfig.DepartmentLabel, ",")
|
|
|
+ for _, labelName := range labelNames {
|
|
|
+ labelName = labelConfig.Sanitize(labelName)
|
|
|
+ if labelValue, ok := labels[labelName]; ok {
|
|
|
+ names = append(names, labelValue)
|
|
|
+ } else {
|
|
|
+ names = append(names, UnallocatedSuffix)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
case agg == AllocationEnvironmentProp:
|
|
|
@@ -1529,11 +1532,14 @@ func (a *Allocation) generateKey(aggregateBy []string, labelConfig *LabelConfig)
|
|
|
if labels == nil {
|
|
|
names = append(names, UnallocatedSuffix)
|
|
|
} else {
|
|
|
- labelName := labelConfig.Sanitize(labelConfig.EnvironmentLabel)
|
|
|
- if labelValue, ok := labels[labelName]; ok {
|
|
|
- names = append(names, labelValue)
|
|
|
- } else {
|
|
|
- names = append(names, UnallocatedSuffix)
|
|
|
+ labelNames := strings.Split(labelConfig.EnvironmentLabel, ",")
|
|
|
+ for _, labelName := range labelNames {
|
|
|
+ labelName = labelConfig.Sanitize(labelName)
|
|
|
+ if labelValue, ok := labels[labelName]; ok {
|
|
|
+ names = append(names, labelValue)
|
|
|
+ } else {
|
|
|
+ names = append(names, UnallocatedSuffix)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
case agg == AllocationOwnerProp:
|
|
|
@@ -1541,11 +1547,14 @@ func (a *Allocation) generateKey(aggregateBy []string, labelConfig *LabelConfig)
|
|
|
if labels == nil {
|
|
|
names = append(names, UnallocatedSuffix)
|
|
|
} else {
|
|
|
- labelName := labelConfig.Sanitize(labelConfig.OwnerLabel)
|
|
|
- if labelValue, ok := labels[labelName]; ok {
|
|
|
- names = append(names, labelValue)
|
|
|
- } else {
|
|
|
- names = append(names, UnallocatedSuffix)
|
|
|
+ labelNames := strings.Split(labelConfig.OwnerLabel, ",")
|
|
|
+ for _, labelName := range labelNames {
|
|
|
+ labelName = labelConfig.Sanitize(labelName)
|
|
|
+ if labelValue, ok := labels[labelName]; ok {
|
|
|
+ names = append(names, labelValue)
|
|
|
+ } else {
|
|
|
+ names = append(names, UnallocatedSuffix)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
case agg == AllocationProductProp:
|
|
|
@@ -1553,11 +1562,14 @@ func (a *Allocation) generateKey(aggregateBy []string, labelConfig *LabelConfig)
|
|
|
if labels == nil {
|
|
|
names = append(names, UnallocatedSuffix)
|
|
|
} else {
|
|
|
- labelName := labelConfig.Sanitize(labelConfig.ProductLabel)
|
|
|
- if labelValue, ok := labels[labelName]; ok {
|
|
|
- names = append(names, labelValue)
|
|
|
- } else {
|
|
|
- names = append(names, UnallocatedSuffix)
|
|
|
+ labelNames := strings.Split(labelConfig.ProductLabel, ",")
|
|
|
+ for _, labelName := range labelNames {
|
|
|
+ labelName = labelConfig.Sanitize(labelName)
|
|
|
+ if labelValue, ok := labels[labelName]; ok {
|
|
|
+ names = append(names, labelValue)
|
|
|
+ } else {
|
|
|
+ names = append(names, UnallocatedSuffix)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
case agg == AllocationTeamProp:
|
|
|
@@ -1565,11 +1577,14 @@ func (a *Allocation) generateKey(aggregateBy []string, labelConfig *LabelConfig)
|
|
|
if labels == nil {
|
|
|
names = append(names, UnallocatedSuffix)
|
|
|
} else {
|
|
|
- labelName := labelConfig.Sanitize(labelConfig.TeamLabel)
|
|
|
- if labelValue, ok := labels[labelName]; ok {
|
|
|
- names = append(names, labelValue)
|
|
|
- } else {
|
|
|
- names = append(names, UnallocatedSuffix)
|
|
|
+ labelNames := strings.Split(labelConfig.TeamLabel, ",")
|
|
|
+ for _, labelName := range labelNames {
|
|
|
+ labelName = labelConfig.Sanitize(labelName)
|
|
|
+ if labelValue, ok := labels[labelName]; ok {
|
|
|
+ names = append(names, labelValue)
|
|
|
+ } else {
|
|
|
+ names = append(names, UnallocatedSuffix)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
default:
|