github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/elb/v3/security_policy/Update.go (about) 1 package security_policy 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 Name string `json:"name,omitempty"` 11 Description string `json:"description,omitempty"` 12 Protocols []string `json:"protocols,omitempty"` 13 Ciphers []string `json:"ciphers,omitempty"` 14 } 15 16 func Update(client *golangsdk.ServiceClient, opts UpdateOpts, id string) (*SecurityPolicy, error) { 17 b, err := build.RequestBody(opts, "security_policy") 18 if err != nil { 19 return nil, err 20 } 21 22 raw, err := client.Put(client.ServiceURL("security-policies", id), b, nil, &golangsdk.RequestOpts{OkCodes: []int{200}}) 23 if err != nil { 24 return nil, err 25 } 26 27 var res SecurityPolicy 28 err = extract.Into(raw.Body, &res) 29 return &res, err 30 }