github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/modelarts/v2/version/requests.go (about) 1 package version 2 3 import ( 4 "github.com/chnsz/golangsdk" 5 "github.com/chnsz/golangsdk/pagination" 6 ) 7 8 type CreateOpts struct { 9 ClearHardProperty *bool `json:"clear_hard_property,omitempty"` 10 Description string `json:"description,omitempty"` 11 ExportImages *bool `json:"export_images,omitempty"` 12 RemoveSampleUsage *bool `json:"remove_sample_usage,omitempty"` 13 TrainEvaluateSampleRatio string `json:"train_evaluate_sample_ratio,omitempty"` 14 VersionFormat string `json:"version_format,omitempty"` 15 VersionName string `json:"version_name,omitempty"` 16 WithColumnHeader *bool `json:"with_column_header,omitempty"` 17 } 18 19 type ListOpts struct { 20 Status int `q:"status"` 21 TrainEvaluateRatio string `q:"train_evaluate_ratio"` 22 VersionFormat int `q:"version_format"` 23 Offset int `q:"offset"` 24 Limit int `q:"limit"` 25 } 26 27 var RequestOpts = golangsdk.RequestOpts{ 28 MoreHeaders: map[string]string{"Content-Type": "application/json", "X-Language": "en-us"}, 29 } 30 31 func Create(c *golangsdk.ServiceClient, datesetId string, opts CreateOpts) (*CreateResp, error) { 32 b, err := golangsdk.BuildRequestBody(opts, "") 33 if err != nil { 34 return nil, err 35 } 36 37 var rst CreateResp 38 _, err = c.Post(createURL(c, datesetId), b, &rst, &golangsdk.RequestOpts{ 39 MoreHeaders: RequestOpts.MoreHeaders, 40 }) 41 42 return &rst, err 43 } 44 45 func Get(c *golangsdk.ServiceClient, datesetId string, versionId string) (*DatasetVersion, error) { 46 var rst DatasetVersion 47 _, err := c.Get(getURL(c, datesetId, versionId), &rst, &golangsdk.RequestOpts{ 48 MoreHeaders: RequestOpts.MoreHeaders, 49 }) 50 return &rst, err 51 } 52 53 func Delete(c *golangsdk.ServiceClient, datesetId string, versionId string) *golangsdk.ErrResult { 54 url := deleteURL(c, datesetId, versionId) 55 var rst golangsdk.ErrResult 56 _, rst.Err = c.Delete(url, &golangsdk.RequestOpts{ 57 MoreHeaders: RequestOpts.MoreHeaders, 58 }) 59 60 return &rst 61 } 62 63 func List(c *golangsdk.ServiceClient, datesetId string, opts ListOpts) (*pagination.Pager, error) { 64 url := listURL(c, datesetId) 65 query, err := golangsdk.BuildQueryString(opts) 66 if err != nil { 67 return nil, err 68 } 69 url += query.String() 70 71 page := pagination.NewPager(c, url, func(r pagination.PageResult) pagination.Page { 72 p := DatasetVersionPage{pagination.OffsetPageBase{PageResult: r}} 73 return p 74 }) 75 76 return &page, nil 77 }