@@ -38,6 +38,7 @@ type customError struct {
3838// Create new error format for Terraform output
3939func newCustomError (sync interface {}, err error ) error {
4040 var tfError customError
41+ errorMessage := err .Error ()
4142
4243 // Service error
4344 if failure , isServiceError := oci_common .IsServiceError (err ); isServiceError {
@@ -49,20 +50,28 @@ func newCustomError(sync interface{}, err error) error {
4950 OpcRequestID : failure .GetOpcRequestID (),
5051 Service : getServiceName (sync ),
5152 }
52- } else if strings .Contains (err . Error () , "timeout while waiting for state" ) {
53+ } else if strings .Contains (errorMessage , "timeout while waiting for state" ) {
5354 // Timeout error
5455 tfError = customError {
5556 TypeOfError : TimeoutError ,
5657 ErrorCodeName : "Operation Timeout" ,
57- Message : err . Error () ,
58+ Message : errorMessage ,
5859 Service : getServiceName (sync ),
5960 }
6061 // Unexpected state error
61- } else if strings .Contains (err . Error () , "unexpected state" ) {
62+ } else if strings .Contains (errorMessage , "unexpected state" ) {
6263 tfError = customError {
6364 TypeOfError : UnexpectedStateError ,
6465 ErrorCodeName : "Unexpected LifeCycle state" ,
65- Message : err .Error (),
66+ Message : errorMessage ,
67+ Service : getServiceName (sync ),
68+ ResourceOCID : getResourceOCID (sync ),
69+ }
70+ } else if strings .Contains (errorMessage , "work request" ) {
71+ tfError = customError {
72+ TypeOfError : WorkRequestError ,
73+ ErrorCodeName : "Work Request error" ,
74+ Message : errorMessage ,
6675 Service : getServiceName (sync ),
6776 ResourceOCID : getResourceOCID (sync ),
6877 }
@@ -101,6 +110,14 @@ func (tfE customError) Error() error {
101110 "Resource OCID: %s \n " +
102111 "Suggestion: %s\n " ,
103112 tfE .ErrorCodeName , tfE .VersionError , tfE .Service , tfE .Message , tfE .ResourceOCID , tfE .Suggestion )
113+ case WorkRequestError :
114+ return fmt .Errorf ("%s \n " +
115+ "%s \n " +
116+ "Service: %s \n " +
117+ "Error Message: %s \n " +
118+ "Resource OCID: %s \n " +
119+ "Suggestion: %s\n " ,
120+ tfE .ErrorCodeName , tfE .VersionError , tfE .Service , tfE .Message , tfE .ResourceOCID , tfE .Suggestion )
104121 default :
105122 return fmt .Errorf (tfE .Message )
106123 }
0 commit comments