@@ -48,17 +48,13 @@ public static IEnumerable<V1PolicyRule> Transpile(
48
48
group => (
49
49
Crd : context . ToEntityMetadata ( group . Key ) ,
50
50
Verbs : group . Aggregate ( RbacVerb . None , ( accumulator , element ) => accumulator | element . Verbs ) ) )
51
- . GroupBy ( group => group . Verbs )
52
- . Select (
53
- group => (
54
- Verbs : group . Key ,
55
- Crds : group . Select ( element => element . Crd ) . ToList ( ) ) )
51
+ . GroupBy ( group => ( group . Crd . Metadata . Group , group . Verbs ) )
56
52
. Select (
57
53
group => new V1PolicyRule
58
54
{
59
- ApiGroups = group . Crds . Select ( crd => crd . Metadata . Group ) . Distinct ( ) . ToList ( ) ,
60
- Resources = group . Crds . Select ( crd => crd . Metadata . PluralName ) . Distinct ( ) . ToList ( ) ,
61
- Verbs = ConvertToStrings ( group . Verbs ) ,
55
+ ApiGroups = [ group . Key . Group ] ,
56
+ Resources = group . Select ( crd => crd . Crd . Metadata . PluralName ) . Distinct ( ) . ToList ( ) ,
57
+ Verbs = ConvertToStrings ( group . Key . Verbs ) ,
62
58
} ) ;
63
59
64
60
var entityStatus = list
@@ -75,8 +71,8 @@ public static IEnumerable<V1PolicyRule> Transpile(
75
71
. Select (
76
72
crd => new V1PolicyRule
77
73
{
78
- ApiGroups = new [ ] { crd . Metadata . Group } ,
79
- Resources = new [ ] { $ "{ crd . Metadata . PluralName } /status" } ,
74
+ ApiGroups = [ crd . Metadata . Group ] ,
75
+ Resources = [ $ "{ crd . Metadata . PluralName } /status"] ,
80
76
Verbs = ConvertToStrings ( RbacVerb . Get | RbacVerb . Patch | RbacVerb . Update ) ,
81
77
} ) ;
82
78
@@ -86,7 +82,7 @@ public static IEnumerable<V1PolicyRule> Transpile(
86
82
private static string [ ] ConvertToStrings ( RbacVerb verbs ) => verbs switch
87
83
{
88
84
RbacVerb . None => Array . Empty < string > ( ) ,
89
- _ when verbs . HasFlag ( RbacVerb . All ) => new [ ] { "*" } ,
85
+ _ when verbs . HasFlag ( RbacVerb . All ) => [ "*" ] ,
90
86
_ =>
91
87
Enum . GetValues < RbacVerb > ( )
92
88
. Where ( v => verbs . HasFlag ( v ) && v != RbacVerb . All && v != RbacVerb . None )
0 commit comments