github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/image/v2/images/Update.go (about) 1 package images 2 3 import ( 4 "github.com/opentelekomcloud/gophertelekomcloud" 5 "github.com/opentelekomcloud/gophertelekomcloud/internal/build" 6 "github.com/opentelekomcloud/gophertelekomcloud/internal/extract" 7 "github.com/opentelekomcloud/gophertelekomcloud/openstack/ims/v2/images" 8 ) 9 10 // Update implements image updated request. 11 func Update(client *golangsdk.ServiceClient, imageId string, opts []images.UpdateImageOpts) (*images.ImageInfo, error) { 12 b, err := build.RequestBody(opts, "") 13 if err != nil { 14 return nil, err 15 } 16 17 // PATCH /v2/images/{image_id} 18 raw, err := client.Patch(client.ServiceURL("images", imageId), b, nil, &golangsdk.RequestOpts{ 19 OkCodes: []int{200}, 20 MoreHeaders: map[string]string{"Content-Type": "application/openstack-images-v2.1-json-patch"}, 21 }) 22 if err != nil { 23 return nil, err 24 } 25 26 var res images.ImageInfo 27 err = extract.Into(raw.Body, &res) 28 return &res, err 29 }