...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package controller
17
18 import (
19 "errors"
20 "strings"
21
22 "k8s.io/apimachinery/pkg/types"
23 )
24
25 func ParseNamespacedName(namespacedName string) (types.NamespacedName, error) {
26 parts := strings.Split(namespacedName, "/")
27 if len(parts) > 1 {
28 return types.NamespacedName{
29 Namespace: parts[0],
30 Name: parts[1],
31 }, nil
32 }
33
34 return types.NamespacedName{
35 Namespace: "",
36 Name: "",
37 }, errors.New("too few parts of namespacedname")
38
39 }
40
41 func ParseNamespacedNameContainer(namespacedName string) (types.NamespacedName, string, error) {
42 parts := strings.Split(namespacedName, "/")
43 if len(parts) > 2 {
44 return types.NamespacedName{
45 Namespace: parts[0],
46 Name: parts[1],
47 }, strings.Join(parts[2:], ""), nil
48 }
49
50 return types.NamespacedName{
51 Namespace: "",
52 Name: "",
53 }, "", errors.New("too few parts of namespacedname")
54
55 }
56