github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/fgs/v2/trigger/Update.go (about) 1 package trigger 2 3 import ( 4 golangsdk "github.com/opentelekomcloud/gophertelekomcloud" 5 "github.com/opentelekomcloud/gophertelekomcloud/internal/build" 6 "github.com/opentelekomcloud/gophertelekomcloud/internal/extract" 7 ) 8 9 type UpdateOpts struct { 10 FuncUrn string `json:"-"` 11 TriggerId string `json:"-"` 12 TriggerTypeCode string `json:"-"` 13 TriggerStatus string `json:"trigger_status,omitempty"` 14 EventData []UpdateEventData `json:"event_data,omitempty"` 15 } 16 17 type UpdateEventData struct { 18 IsSerial *bool `json:"is_serial,omitempty"` 19 MaxFetchBytes *int `json:"max_fetch_bytes,omitempty"` 20 PollingInterval *int `json:"polling_interval,omitempty"` 21 PollingUnit *int `json:"polling_unit,omitempty"` 22 } 23 24 func Update(client *golangsdk.ServiceClient, opts UpdateOpts) (*TriggerFuncResp, error) { 25 b, err := build.RequestBody(opts, "") 26 if err != nil { 27 return nil, err 28 } 29 30 raw, err := client.Put(client.ServiceURL("fgs", "triggers", opts.FuncUrn, opts.TriggerTypeCode, opts.TriggerId), b, nil, &golangsdk.RequestOpts{ 31 OkCodes: []int{200}, 32 }) 33 if err != nil { 34 return nil, err 35 } 36 37 var res TriggerFuncResp 38 return &res, extract.Into(raw.Body, &res) 39 }