github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/lts/v2/groups/UpdateLogGroup.go (about) 1 package groups 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 UpdateLogGroupOpts struct { 10 // Log group ID. For details about how to obtain a log group ID, see Obtaining the AccountID, Project ID, Log Group ID, and Log Stream ID. 11 // Default value: None 12 // Value length: 36 characters 13 LogGroupId string `json:"-" required:"true"` 14 // Log retention duration, in days (fixed to 7 days). 15 TTLInDays int32 `json:"ttl_in_days" required:"true"` 16 } 17 18 func UpdateLogGroup(client *golangsdk.ServiceClient, opts UpdateLogGroupOpts) (*LogGroup, error) { 19 b, err := build.RequestBody(opts, "") 20 if err != nil { 21 return nil, err 22 } 23 24 // POST /v2/{project_id}/groups/{log_group_id} 25 raw, err := client.Post(client.ServiceURL("groups", opts.LogGroupId), b, nil, &golangsdk.RequestOpts{ 26 OkCodes: []int{200}, 27 }) 28 if err != nil { 29 return nil, err 30 } 31 32 var res LogGroup 33 err = extract.Into(raw.Body, &res) 34 return &res, err 35 }