github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/taurusdb/v3/sqlfilter/requests.go (about)

     1  package sqlfilter
     2  
     3  import (
     4  	"github.com/chnsz/golangsdk"
     5  )
     6  
     7  type UpdateBuilder interface {
     8  	ToUpdateMap() (map[string]interface{}, error)
     9  }
    10  
    11  type UpdateSqlFilterOpts struct {
    12  	SwitchStatus string `json:"switch_status" required:"true"`
    13  }
    14  
    15  var requestOpts = golangsdk.RequestOpts{
    16  	MoreHeaders: map[string]string{"Content-Type": "application/json", "X-Language": "en-us"},
    17  }
    18  
    19  func (opts UpdateSqlFilterOpts) ToUpdateMap() (map[string]interface{}, error) {
    20  	b, err := golangsdk.BuildRequestBody(opts, "")
    21  	if err != nil {
    22  		return nil, err
    23  	}
    24  	return b, nil
    25  }
    26  
    27  func Update(c *golangsdk.ServiceClient, instanceId string, opts UpdateBuilder) (r JobResult) {
    28  	b, err := opts.ToUpdateMap()
    29  	if err != nil {
    30  		r.Err = err
    31  		return
    32  	}
    33  
    34  	_, r.Err = c.Post(updateURL(c, instanceId), b, &r.Body, &golangsdk.RequestOpts{
    35  		MoreHeaders: requestOpts.MoreHeaders,
    36  	})
    37  	return
    38  }
    39  
    40  func Get(c *golangsdk.ServiceClient, instanceId string) (r GetResult) {
    41  	_, r.Err = c.Get(getURL(c, instanceId), &r.Body, &golangsdk.RequestOpts{
    42  		MoreHeaders: requestOpts.MoreHeaders,
    43  	})
    44  	return
    45  }