@@ -72,52 +72,78 @@ type PowerVSMachineScope struct {
72
72
}
73
73
74
74
// NewPowerVSMachineScope creates a new PowerVSMachineScope from the supplied parameters.
75
- func NewPowerVSMachineScope (params PowerVSMachineScopeParams ) (* PowerVSMachineScope , error ) {
75
+ func NewPowerVSMachineScope (params PowerVSMachineScopeParams ) (scope * PowerVSMachineScope , err error ) {
76
+ scope = & PowerVSMachineScope {}
77
+
76
78
if params .Client == nil {
77
- return nil , errors .New ("client is required when creating a MachineScope" )
79
+ err = errors .New ("client is required when creating a MachineScope" )
80
+ return
78
81
}
82
+ scope .client = params .Client
83
+
79
84
if params .Machine == nil {
80
- return nil , errors .New ("machine is required when creating a MachineScope" )
85
+ err = errors .New ("machine is required when creating a MachineScope" )
86
+ return
81
87
}
88
+ scope .Machine = params .Machine
89
+
82
90
if params .Cluster == nil {
83
- return nil , errors .New ("cluster is required when creating a MachineScope" )
91
+ err = errors .New ("cluster is required when creating a MachineScope" )
92
+ return
84
93
}
94
+ scope .Cluster = params .Cluster
95
+
85
96
if params .IBMPowerVSMachine == nil {
86
- return nil , errors .New ("aws machine is required when creating a MachineScope" )
97
+ err = errors .New ("aws machine is required when creating a MachineScope" )
98
+ return
87
99
}
100
+ scope .IBMPowerVSMachine = params .IBMPowerVSMachine
101
+ scope .IBMPowerVSCluster = params .IBMPowerVSCluster
88
102
89
103
if params .Logger == (logr.Logger {}) {
90
104
params .Logger = klogr .New ()
91
105
}
106
+ scope .Logger = params .Logger
107
+
108
+ helper , err := patch .NewHelper (params .IBMPowerVSMachine , params .Client )
109
+ if err != nil {
110
+ err = errors .Wrap (err , "failed to init patch helper" )
111
+ return
112
+ }
113
+ scope .patchHelper = helper
92
114
93
115
m := params .IBMPowerVSMachine
94
116
95
117
auth , err := authenticator .GetAuthenticator ()
96
118
if err != nil {
97
- return nil , errors .Wrap (err , "failed to get authenticator" )
119
+ err = errors .Wrap (err , "failed to get authenticator" )
120
+ return
98
121
}
99
122
100
123
account , err := servicesutils .GetAccount (auth )
101
124
if err != nil {
102
- return nil , errors .Wrap (err , "failed to get account" )
125
+ err = errors .Wrap (err , "failed to get account" )
126
+ return
103
127
}
104
128
105
129
rc , err := resourcecontroller .NewService (resourcecontroller.ServiceOptions {})
106
130
if err != nil {
107
- return nil , err
131
+ return
108
132
}
109
133
110
134
res , _ , err := rc .GetResourceInstance (
111
135
& resourcecontrollerv2.GetResourceInstanceOptions {
112
136
ID : core .StringPtr (m .Spec .ServiceInstanceID ),
113
137
})
114
138
if err != nil {
115
- return nil , errors .Wrap (err , "failed to get resource instance" )
139
+ err = errors .Wrap (err , "failed to get resource instance" )
140
+ return
116
141
}
117
142
118
143
region , err := utils .GetRegion (* res .RegionID )
119
144
if err != nil {
120
- return nil , errors .Wrap (err , "failed to get region" )
145
+ err = errors .Wrap (err , "failed to get region" )
146
+ return
121
147
}
122
148
123
149
options := powervs.ServiceOptions {
@@ -131,24 +157,12 @@ func NewPowerVSMachineScope(params PowerVSMachineScopeParams) (*PowerVSMachineSc
131
157
}
132
158
c , err := powervs .NewService (options )
133
159
if err != nil {
134
- return nil , fmt .Errorf ("failed to create PowerVS service" )
160
+ err = fmt .Errorf ("failed to create PowerVS service" )
161
+ return
135
162
}
163
+ scope .IBMPowerVSClient = c
136
164
137
- helper , err := patch .NewHelper (params .IBMPowerVSMachine , params .Client )
138
- if err != nil {
139
- return nil , errors .Wrap (err , "failed to init patch helper" )
140
- }
141
- return & PowerVSMachineScope {
142
- Logger : params .Logger ,
143
- client : params .Client ,
144
- patchHelper : helper ,
145
-
146
- IBMPowerVSClient : c ,
147
- Cluster : params .Cluster ,
148
- Machine : params .Machine ,
149
- IBMPowerVSMachine : params .IBMPowerVSMachine ,
150
- IBMPowerVSCluster : params .IBMPowerVSCluster ,
151
- }, nil
165
+ return
152
166
}
153
167
154
168
func (m * PowerVSMachineScope ) ensureInstanceUnique (instanceName string ) (* models.PVMInstanceReference , error ) {
0 commit comments