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 }