@@ -47,14 +47,16 @@ type apiScaffolder struct {
47
47
doResource bool
48
48
// doController indicates whether to scaffold controller files or not
49
49
doController bool
50
+ // force indicates whether to scaffold controller files even if it exists or not
51
+ force bool
50
52
}
51
53
52
54
// NewAPIScaffolder returns a new Scaffolder for API/controller creation operations
53
55
func NewAPIScaffolder (
54
56
config * config.Config ,
55
57
boilerplate string ,
56
58
res * resource.Resource ,
57
- doResource , doController bool ,
59
+ doResource , doController , force bool ,
58
60
plugins []model.Plugin ,
59
61
) cmdutil.Scaffolder {
60
62
return & apiScaffolder {
@@ -64,6 +66,7 @@ func NewAPIScaffolder(
64
66
plugins : plugins ,
65
67
doResource : doResource ,
66
68
doController : doController ,
69
+ force : force ,
67
70
}
68
71
}
69
72
@@ -89,9 +92,9 @@ func (s *apiScaffolder) scaffold() error {
89
92
90
93
if err := machinery .NewScaffold (s .plugins ... ).Execute (
91
94
s .newUniverse (),
92
- & api.Types {},
95
+ & api.Types {Force : s . force },
93
96
& api.Group {},
94
- & samples.CRDSample {},
97
+ & samples.CRDSample {Force : s . force },
95
98
& rbac.CRDEditorRole {},
96
99
& rbac.CRDViewerRole {},
97
100
& patches.EnableWebhookPatch {CRDVersion : s .resource .API .CRDVersion },
@@ -113,8 +116,9 @@ func (s *apiScaffolder) scaffold() error {
113
116
if s .doController {
114
117
if err := machinery .NewScaffold (s .plugins ... ).Execute (
115
118
s .newUniverse (),
116
- & controllers.SuiteTest {WireResource : s .doResource },
117
- & controllers.Controller {ControllerRuntimeVersion : ControllerRuntimeVersion , WireResource : s .doResource },
119
+ & controllers.SuiteTest {WireResource : s .doResource , Force : s .force },
120
+ & controllers.Controller {ControllerRuntimeVersion : ControllerRuntimeVersion , WireResource : s .doResource ,
121
+ Force : s .force },
118
122
); err != nil {
119
123
return fmt .Errorf ("error scaffolding controller: %v" , err )
120
124
}
0 commit comments