Inconsistant error on Delete
jtherin opened this issue · comments
Jérémy THERIN commented
When not found, some resources returns a *scw.ResourceNotFoundError
and some others a *scw.ResponseError
with StatusCode 404.
Using branch master (df9902c) with go 1.13.5.
To reproduce:
import (
"fmt"
"reflect"
"github.com/scaleway/scaleway-sdk-go/api/instance/v1"
"github.com/scaleway/scaleway-sdk-go/scw"
)
func main() {
client, err := scw.NewClient(
scw.WithDefaultOrganizationID("ORGANISATION_ID"),
scw.WithAuth("ACCESS_KEY", "SECRET_KEY"),
)
if err != nil {
panic(err)
}
instanceApi := instance.NewAPI(client)
err = instanceApi.DeleteServer(&instance.DeleteServerRequest{
ServerID: "5e858181-e9c2-4f46-8f03-0197b6eb045a",
Zone: scw.ZoneFrPar1,
})
if err != nil {
fmt.Printf("[delete instance] type: %s, value: %+v\n", reflect.TypeOf(err), err)
}
err = instanceApi.DeleteSecurityGroup(&instance.DeleteSecurityGroupRequest{
SecurityGroupID: "c7b2072b-f7b5-4ae0-84b1-9c3245dbabd2",
Zone: scw.ZoneFrPar1,
})
if err != nil {
fmt.Printf("[delete sg] type: %s, value: %+v\n", reflect.TypeOf(err), err)
}
}
Result:
[delete instance] type: *scw.ResourceNotFoundError, value: scaleway-sdk-go: resource with ID 5e858181-e9c2-4f46-8f03-0197b6eb045a is not found
[delete sg] type: *scw.ResponseError, value: scaleway-sdk-go: http error 404 Not Found: security group "c7b2072b-f7b5-4ae0-84b1-9c3245dbabd2" not found
Expected:
[delete instance] type: *scw.ResourceNotFoundError, value: scaleway-sdk-go: resource with ID 5e858181-e9c2-4f46-8f03-0197b6eb045a is not found
[delete sg] type: *scw.ResourceNotFoundError, value: scaleway-sdk-go: resource with ID c7b2072b-f7b5-4ae0-84b1-9c3245dbabd2 is not found