github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/dcs/v1/backups/BackupInstance.go (about) 1 package backups 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 BackupInstanceOpts struct { 10 // Description of DCS instance backup. 11 Remark string `json:"remark,omitempty"` 12 } 13 14 func BackupInstance(client *golangsdk.ServiceClient, instancesId string, opts BackupInstanceOpts) (string, error) { 15 b, err := build.RequestBody(opts, "") 16 if err != nil { 17 return "", err 18 } 19 20 raw, err := client.Post(client.ServiceURL("instances", instancesId, "backups"), b, nil, &golangsdk.RequestOpts{ 21 OkCodes: []int{200}, 22 }) 23 if err != nil { 24 return "", err 25 } 26 27 var res struct { 28 BackupId string `json:"backup_id"` 29 } 30 err = extract.Into(raw.Body, &res) 31 return res.BackupId, err 32 }