@@ -22,6 +22,7 @@ import (
2222
2323 cmv1 "github.com/openshift-online/ocm-sdk-go/clustersmgmt/v1"
2424 "github.com/spf13/cobra"
25+ errors "github.com/zgalor/weberr"
2526
2627 "github.com/openshift/rosa/pkg/fedramp"
2728 "github.com/openshift/rosa/pkg/interactive"
@@ -132,33 +133,46 @@ func CreateLogForwarderRunner(userOptions *CreateLogForwarderUserOptions) rosa.C
132133 var logForwarderBuilder * cmv1.LogForwarderBuilder
133134 if logFwdS3ConfigObject != nil {
134135 logForwarderBuilder = logforwarding .BindS3LogForwarder (logFwdS3ConfigObject )
136+ err = createLogForwarder (r , cluster .ID (), logForwarderBuilder )
137+ if err != nil {
138+ return errors .UserErrorf ("failed to create S3 log forwarder: %v" , err )
139+ }
140+ r .Reporter .Infof ("Successfully created S3 log forwarder for HCP cluster '%s'" , cluster .ID ())
135141 }
136142 if logFwdCloudWatchConfigObject != nil {
137143 logForwarderBuilder = logforwarding .BindCloudWatchLogForwarder (logFwdCloudWatchConfigObject )
138- }
139- if logForwarderBuilder == nil {
140- return fmt .Errorf ("no proper log forwarding configuration provided" )
141- }
142-
143- logForwarder , err := logForwarderBuilder .Build ()
144- if err != nil {
145- return fmt .Errorf ("failed to build log forwarder from inputs: %v" , err )
146- }
147-
148- createdLogForwarder , err := r .OCMClient .SetLogForwarder (cluster .ID (), logForwarder )
149- if err != nil {
150- return fmt .Errorf ("failed to create log forwarder: %v" , err )
151- }
152-
153- if output .HasFlag () {
154- err = output .Print (createdLogForwarder )
144+ err = createLogForwarder (r , cluster .ID (), logForwarderBuilder )
155145 if err != nil {
156- return fmt . Errorf ("failed to output log forwarder: %v" , err )
146+ return errors . UserErrorf ("failed to create CloudWatch log forwarder: %v" , err )
157147 }
158- return nil
148+ r . Reporter . Infof ( "Successfully created CloudWatch log forwarder for HCP cluster '%s'" , cluster . ID ())
159149 }
160150
161- r .Reporter .Infof ("Successfully created log forwarder for HCP cluster '%s'" , clusterKey )
162151 return nil
163152 }
164153}
154+
155+ func createLogForwarder (r * rosa.Runtime , clusterId string , forwarder * cmv1.LogForwarderBuilder ) error {
156+ if forwarder == nil {
157+ return fmt .Errorf ("no proper log forwarding configuration provided" )
158+ }
159+
160+ logForwarder , err := forwarder .Build ()
161+ if err != nil {
162+ return fmt .Errorf ("failed to build log forwarder from inputs: %v" , err )
163+ }
164+
165+ createdLogForwarder , err := r .OCMClient .SetLogForwarder (clusterId , logForwarder )
166+ if err != nil {
167+ return fmt .Errorf ("failed to create log forwarder on cluster '%s': %v" , clusterId , err )
168+ }
169+
170+ if output .HasFlag () {
171+ err = output .Print (createdLogForwarder )
172+ if err != nil {
173+ return fmt .Errorf ("failed to output log forwarder: %v" , err )
174+ }
175+ }
176+
177+ return nil
178+ }
0 commit comments