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  }