Skip to content

Commit

Permalink
fix: [CCM-15109] Terraform not showing validation errors for AutoStop…
Browse files Browse the repository at this point in the history
…ping related resources (#443)

* fix for surfacing out validation errors in Lightwing APIs

Autogenerate code has been modified to surace out error thrown by Lightwing APIs. This is required because Lightwing APIs and NextGen are following different error structure. Hence converting Lightwing errors to NextGen error structure fails

* Error handling in AutoStopping Loadbalancer APIs

Autogenerated code had dead code and Lightwing errors were not getting handled. Lightwing error and NextGen error are different. Hence generic code for parsing error is not working out. Modified autogenerated code for these two reasons

* Error handling in AutoStopping rule creation

Autogenerated code had dead code and Lightwing errors were not getting handled. Lightwing error and NextGen error are different. Hence generic code for parsing error is not working out. Modified autogenerated code for these two reasons
  • Loading branch information
shalinlk authored Nov 27, 2023
1 parent 09bbfe8 commit 51a385a
Show file tree
Hide file tree
Showing 19 changed files with 156 additions and 244 deletions.
59 changes: 12 additions & 47 deletions harness/nextgen/api_cloud_cost_auto_stopping_fixed_schedules.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ func (a *CloudCostAutoStoppingFixedSchedulesApiService) CreateAutoStoppingSchedu
key = auth.Key
}
localVarHeaderParams["x-api-key"] = key

}
}

Expand All @@ -102,9 +101,9 @@ func (a *CloudCostAutoStoppingFixedSchedulesApiService) CreateAutoStoppingSchedu
return localVarReturnValue, localVarHttpResponse, err
}

err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
return localVarReturnValue, localVarHttpResponse, err
}

Expand All @@ -113,29 +112,11 @@ func (a *CloudCostAutoStoppingFixedSchedulesApiService) CreateAutoStoppingSchedu
body: localVarBody,
error: localVarHttpResponse.Status,
}

if localVarHttpResponse.StatusCode == 201 {
var v FixedScheduleCreateResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 400 {
var v Model400BadRequestResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}

newErr.error = strings.Join(localVarReturnValue.Errors, ", ")
return localVarReturnValue, localVarHttpResponse, newErr
}

Expand Down Expand Up @@ -198,7 +179,6 @@ func (a *CloudCostAutoStoppingFixedSchedulesApiService) GetFixedSchedule(ctx con
key = auth.Key
}
localVarHeaderParams["x-api-key"] = key

}
}
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
Expand All @@ -217,9 +197,9 @@ func (a *CloudCostAutoStoppingFixedSchedulesApiService) GetFixedSchedule(ctx con
return localVarReturnValue, localVarHttpResponse, err
}

err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
return localVarReturnValue, localVarHttpResponse, err
}

Expand All @@ -228,18 +208,11 @@ func (a *CloudCostAutoStoppingFixedSchedulesApiService) GetFixedSchedule(ctx con
body: localVarBody,
error: localVarHttpResponse.Status,
}

if localVarHttpResponse.StatusCode == 200 {
var v FixedSchedulesGetResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}

newErr.error = strings.Join(localVarReturnValue.Errors, ", ")
return localVarReturnValue, localVarHttpResponse, newErr
}

Expand Down Expand Up @@ -302,7 +275,6 @@ func (a *CloudCostAutoStoppingFixedSchedulesApiService) DeleteAutoStoppingFixedS
key = auth.Key
}
localVarHeaderParams["x-api-key"] = key

}
}
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
Expand All @@ -321,9 +293,9 @@ func (a *CloudCostAutoStoppingFixedSchedulesApiService) DeleteAutoStoppingFixedS
return localVarReturnValue, localVarHttpResponse, err
}

err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
return localVarReturnValue, localVarHttpResponse, err
}

Expand All @@ -332,18 +304,11 @@ func (a *CloudCostAutoStoppingFixedSchedulesApiService) DeleteAutoStoppingFixedS
body: localVarBody,
error: localVarHttpResponse.Status,
}

if localVarHttpResponse.StatusCode == 200 {
var v FixedScheduleDeleteResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}

newErr.error = strings.Join(localVarReturnValue.Errors, ", ")
return localVarReturnValue, localVarHttpResponse, newErr
}

Expand Down
Loading

0 comments on commit 51a385a

Please sign in to comment.