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  }