func (v *ListBucketsInput) Validate() error {
	return nil
}
Validate validates the input for ListBuckets.
package service
import (
	"context"
	"net/http"
	"github.com/qingstor/qingstor-sdk-go/v4/config"
	"github.com/qingstor/qingstor-sdk-go/v4/request"
	"github.com/qingstor/qingstor-sdk-go/v4/request/data"
)
var _ http.Header
type Service struct {
	Config *config.Config
}
func Init(c *config.Config) (*Service, error) {
	return &Service{Config: c}, nil
}
func (s *Service) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) {
	return s.ListBucketsWithContext(context.Background(), input)
}
func (s *Service) ListBucketsWithContext(ctx context.Context, input *ListBucketsInput) (*ListBucketsOutput, error) {
	if ctx == nil {
		ctx = context.Background()
	}
	r, x, err := s.ListBucketsRequest(input)
	if err != nil {
		return x, err
	}
	err = r.SendWithContext(ctx)
	if err != nil {
		return nil, err
	}
	requestID := r.HTTPResponse.Header.Get(http.CanonicalHeaderKey("X-QS-Request-ID"))
	x.RequestID = &requestID
	return x, err
}
func (s *Service) ListBucketsRequest(input *ListBucketsInput) (*request.Request, *ListBucketsOutput, error) {
	if input == nil {
		input = &ListBucketsInput{}
	}
	o := &data.Operation{
		Config:        s.Config,
		APIName:       "Get Service",
		RequestMethod: "GET",
		RequestURI:    "/",
		StatusCodes: []int{
			200,  
		},
	}
	x := &ListBucketsOutput{}
	r, err := request.New(o, input, x)
	if err != nil {
		return nil, nil, err
	}
	return r, x, nil
}
type ListBucketsInput struct {
	Limit *int `json:"limit,omitempty" name:"limit" location:"query"`
	Offset *int `json:"offset,omitempty" name:"offset" location:"query"`
	Location *string `json:"Location,omitempty" name:"Location" location:"headers"`
}