@@ -59,13 +59,24 @@ export class Plugin {
5959
6060 return {
6161 resourceDefinitions : [ ...this . resourceControllers . values ( ) ]
62- . map ( ( r ) => ( {
63- dependencies : r . dependencies ,
64- type : r . typeId ,
65- sensitiveParameters : Object . entries ( r . settings . parameterSettings ?? { } )
62+ . map ( ( r ) => {
63+ const sensitiveParameters = Object . entries ( r . settings . parameterSettings ?? { } )
6664 . filter ( ( [ , v ] ) => v ?. isSensitive )
67- . map ( ( [ k ] ) => k ) ,
68- } ) )
65+ . map ( ( [ k ] ) => k ) ;
66+
67+ // Here we add '*' if the resource is sensitive but no sensitive parameters are found. This works because the import
68+ // sensitivity check only checks for the existance of a sensitive parameter whereas the parameter blocking one blocks
69+ // on a specific sensitive parameter.
70+ if ( r . settings . isSensitive && sensitiveParameters . length === 0 ) {
71+ sensitiveParameters . push ( '*' ) ;
72+ }
73+
74+ return {
75+ dependencies : r . dependencies ,
76+ type : r . typeId ,
77+ sensitiveParameters,
78+ }
79+ } )
6980 }
7081 }
7182
@@ -87,10 +98,17 @@ export class Plugin {
8798 const allowMultiple = resource . settings . allowMultiple !== undefined
8899 && resource . settings . allowMultiple !== false ;
89100
101+ // Here we add '*' if the resource is sensitive but no sensitive parameters are found. This works because the import
102+ // sensitivity check only checks for the existance of a sensitive parameter whereas the parameter blocking one blocks
103+ // on a specific sensitive parameter.
90104 const sensitiveParameters = Object . entries ( resource . settings . parameterSettings ?? { } )
91105 . filter ( ( [ , v ] ) => v ?. isSensitive )
92106 . map ( ( [ k ] ) => k ) ;
93107
108+ if ( resource . settings . isSensitive && sensitiveParameters . length === 0 ) {
109+ sensitiveParameters . push ( '*' ) ;
110+ }
111+
94112 return {
95113 plugin : this . name ,
96114 type : data . type ,
0 commit comments