terraform/vendor/github.com/maximilien/softlayer-go/services/softlayer_billing_item.go

42 lines
1.1 KiB
Go

package services
import (
"bytes"
"errors"
"fmt"
common "github.com/maximilien/softlayer-go/common"
softlayer "github.com/maximilien/softlayer-go/softlayer"
)
type softLayer_Billing_Item_Service struct {
client softlayer.Client
}
func NewSoftLayer_Billing_Item_Service(client softlayer.Client) *softLayer_Billing_Item_Service {
return &softLayer_Billing_Item_Service{
client: client,
}
}
func (slbi *softLayer_Billing_Item_Service) GetName() string {
return "SoftLayer_Billing_Item"
}
func (slbi *softLayer_Billing_Item_Service) CancelService(billingId int) (bool, error) {
response, errorCode, err := slbi.client.GetHttpClient().DoRawHttpRequest(fmt.Sprintf("%s/%d/cancelService.json", slbi.GetName(), billingId), "GET", new(bytes.Buffer))
if err != nil {
return false, err
}
if res := string(response[:]); res != "true" {
return false, nil
}
if common.IsHttpErrorCode(errorCode) {
errorMessage := fmt.Sprintf("softlayer-go: could not SoftLayer_Billing_Item#CancelService, HTTP error code: '%d'", errorCode)
return false, errors.New(errorMessage)
}
return true, err
}