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  }