github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/apigw/v2/key/Update.go (about) 1 package key 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 GatewayID string `json:"-"` 11 SignID string `json:"-"` 12 Name string `json:"name" required:"true"` 13 SignType string `json:"sign_type,omitempty"` 14 SignKey string `json:"sign_key,omitempty"` 15 SignSecret string `json:"sign_secret,omitempty"` 16 SignAlgorithm string `json:"sign_algorithm,omitempty"` 17 } 18 19 func Update(client *golangsdk.ServiceClient, opts UpdateOpts) (*SignKeyResp, error) { 20 b, err := build.RequestBody(opts, "") 21 if err != nil { 22 return nil, err 23 } 24 25 raw, err := client.Put(client.ServiceURL("apigw", "instances", opts.GatewayID, "signs", opts.SignID), 26 b, nil, &golangsdk.RequestOpts{ 27 OkCodes: []int{200}, 28 }) 29 if err != nil { 30 return nil, err 31 } 32 33 var res SignKeyResp 34 35 err = extract.Into(raw.Body, &res) 36 return &res, err 37 }